48 相似度為 K 的字串

2021-10-02 02:08:45 字數 1057 閱讀 6435

題目描述:

如果可以通過將 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 相似。...