給你兩個字串 s1 和 s2 ,它們長度相等,請你檢查是否存在乙個 s1 的排列可以打破 s2 的乙個排列,或者是否存在乙個 s2 的排列可以打破 s1 的乙個排列。
字串 x 可以打破字串 y (兩者長度都為 n )需滿足對於所有 i(在 0 到 n - 1 之間)都有 x[i] >= y[i](字典序意義下的順序)。
給你兩個字串 s1 和 s2 ,它們長度相等,請你檢查是否存在乙個 s1 的排列可以打破 s2 的乙個排列,或者是否存在乙個 s2 的排列可以打破 s1 的乙個排列。
字串 x 可以打破字串 y (兩者長度都為 n )需滿足對於所有 i(在 0 到 n - 1 之間)都有 x[i] >= y[i](字典序意義下的順序)。
示例 1:
輸入:s1 = "abc", s2 = "xya"
輸出:true
解釋:"ayx" 是 s2="xya" 的乙個排列,"abc" 是字串 s1="abc" 的乙個排列,且 "ayx" 可以打破 "abc" 。
示例 2:
輸入:s1 = "abe", s2 = "acd"
輸出:false
解釋:s1="abe" 的所有排列包括:"abe","aeb","bae","bea","eab" 和 "eba" ,s2="acd" 的所有排列包括:"acd","adc","cad","cda","dac" 和 "dca"。然而沒有任何 s1 的排列可以打破 s2 的排列。也沒有 s2 的排列能打破 s1 的排列。
示例 3:
輸入:s1 = "leetcodee", s2 = "interview"
輸出:true
解題思路:題目要求我們找到一種字串排列可以打破另乙個字串的一種排列,打破的意思是乙個字串的所有字元都要大於等於另乙個字串的字元(對應位置),那我們只要對這兩個字串排序,然後依次比較每個字元的大小就可以,因為,如果乙個字串的乙個字元不能大於另乙個字串的乙個字元,那換成更小的也沒有意義
完整**:
class solution
return true;
}}
這道題是貪心演算法裡邊的,我刷了那麼多道貪心演算法,但是我實在是沒看出貪心的思想體現在哪了,而且題目有點簡單了,明明是中等的,想去刷困難的又因為沒有怎麼理解貪心而止步,刷中等又因為太簡單不能看出貪心在哪了,有點煩 判斷乙個字串是否在另乙個字串中
方法一 string str1 nihaoksdoksad string str2 ok int total 0 for string tmp str1 tmp null tmp.length str2.length tmp tmp.substring 1 system.out.println st...
乙個字串是否包含另乙個字串的問題
string s1 2,3,4,5,11,string s2 1,2個字串s1和s2,我用什麼方法判斷s2在不在s1裡呢,而不是把s1裡的 11,當成s2 using system using system.text.regularexpressions class test 在這個程式中,s1 和...
c 判斷乙個字串是否包含另乙個字串
c 開發過程中針對字串string型別的操作是常見操作,有時候需要判斷某個字串是否包含在另乙個字串,此時可以使用indexof方法以及contain方法來實現此功能,contain方法返回true和false,而indexof方法可以返回所在的索引位置,如果為查詢到對應的字串,則返回 1。c 中字串...