確定兩個字串是否接近

2021-10-10 13:57:33 字數 1334 閱讀 8416

如果可以使用以下操作從乙個字串得到另乙個字串,則認為兩個字串接近

操作 2:將乙個現有字元的每次出現轉換為另乙個現有字元,並對另乙個字元執行相同的操作。

你可以根據需要對任意乙個字串多次使用這兩種操作。

給你兩個字串,word1word2。如果word1word2接近,就返回true;否則,返回false

示例 1:

輸入:word1 = "abc", word2 = "bca"輸出:true解釋:2 次操作從 word1 獲得 word2 。

執行操作 1:"abc" -> "acb"

執行操作 1:"acb" -> "bca"

示例 2:

輸入:word1 = "a", word2 = "aa"輸出:false解釋:不管執行多少次操作,都無法從 word1 得到 word2 ,反之亦然。
暴力解法,類似於字串全排列,報錯

class solution 

private void helper(string word1, int index, string word2)

for(int i = index + 1; i < word1.length() && !found; i++)

if(found) return;

if(word1.charat(i) != word1.charat(index)) }}

private string replace(string str, char c1, char c2)

return new string(chars);

}}

經觀察後,發現每個字母本身的含義並不重要,我們只需要考慮其出現的頻率。例如a出現5次和b出現5次,結果是一樣的。最終問題轉化為,頻率是否全匹配

class solution 

}

確定兩個字串是否接近

題目 如果可以使用以下操作從乙個字串得到另乙個字串,則認為兩個字串 接近 操作 1 交換任意兩個 現有 字元。例如,abcde aecdb 操作 2 將乙個 現有 字元的每次出現轉換為另乙個 現有 字元,並對另乙個字元執行相同的操作。例如,aacabb bbcbaa 所有 a 轉化為 b 而所有的 ...

比較兩個字串是否相等

我剛剛才學了組合語言,就寫了乙個很簡單的程式.下面是程式 dseg segment data1 db 9,0,9 dup data2 db 9,0,9 dup cnt db 8 str1 db 13,10,two string is same.str2 db 13,10,two string is ...

判斷兩個字串是否相同

data segment mess1 db computer software mess2 db computer software data ends code segment assume ds data,cs code start mov ax,data mov ds,ax mov es,ax...