題目描述:
如果可以通過將 a 中的兩個小寫字母精確地交換位置 k 次得到與 b 相等的字串,我們稱字串 a 和 b 的相似度為 k(k 為非負整數)。
給定兩個字母異位詞 a 和 b ,返回 a 和 b 的相似度 k 的最小值。
示例 1:
輸入:a = 「ab」, b = 「ba」
輸出:1
示例 2:
輸入:a = 「abc」, b = 「bca」
輸出:2
示例 3:
輸入:a = 「abac」, b = 「baca」
輸出:2
示例 4:
輸入:a = 「aabc」, b = 「abca」
輸出:2
1 <= a.length == b.length <= 20
a 和 b 只包含集合 中的小寫字母。
我一開始比較懵逼,感覺這道題應該很難,但是看人家說用bfs可以通過就自己嘗試寫了一下,通過了
class solution
queuequeue = new linkedlist<>();
queue.offer(a);
int result = 0;
while (!queue.isempty())
listfind = find(getfirst + 1,b.charat(getfirst),tem,b);
for (integer integer : find)
}result ++;
}return result;
}public int getfirst(string a,string b)
}return a.length();
}// a:abc b bca 那麼abc 首先會找到下標1的b然後交換
public listfind(int index,char tart,string s1,string s2)
}return list;
}public void change(int i, int j,char tem)
}
1317 相似字串對
51nod 相似字串 根據題意要求所有滿足題意的相似字串對數,相似字串對滿足a c c b,進一步分析能得到a,b字串必須滿足a d e,b e d。這時候只要構造滿足要求的a,b。可以看出,a有k n種情形,b只要根據a進行對應的變化就行 將a前後兩部分對調位置 不過可能出現重複情形。這時候只要想...
839 相似字串組
839.相似字串組 如果交換字串x中的兩個不同位置的字母,使得它和字串y相等,那麼稱x和y兩個字串相似。如果這兩個字串本身是相等的,那它們也是相似的。例如,tars 和 rats 是相似的 交換0與2的位置 rats 和 arts 也是相似的,但是 star 不與 tars rats 或 arts ...
839 相似字串組
難度困難93 如果交換字串x中的兩個不同位置的字母,使得它和字串y相等,那麼稱x和y兩個字串相似。如果這兩個字串本身是相等的,那它們也是相似的。例如,tars 和 rats 是相似的 交換0與2的位置 rats 和 arts 也是相似的,但是 star 不與 tars rats 或 arts 相似。...