524 通過刪除字母匹配到字典裡最長單詞

2021-09-29 06:16:49 字數 656 閱讀 8111

想到了先對整個陣列重新排序,長度小的在前,長度一樣的按字串字典序從小到大排序。之後考察每個字串就好了,找到乙個,當前長度的就都跳過,直接考察長度+1的字串。

然而蛋疼的是我考察每個字串是否可以轉化為目標字串時用的是dfs。這題要求的是乙個字串a能轉化為字串b即可,而不是求a轉化為b有多少種方法。後者肯定要遞迴回溯來算的,但這題只需要求是或不是。故只要找到a[i]和b[j]相同,就直接繼續尋找a從i+1和b從j+1開始能不能轉化就行。不必回溯再考察是否還有其他b[k] (k!=j)滿足a[i]==b[k]。

**:

class

solution

return

false;}

string findlongestword

(string s, vector

& d)

}return res;

}bool

func

(string& s,string& target)

//複雜度o(m+n),m、n為兩字串長度

else

}return i==siz1;}}

;

524 通過刪除字母匹配到字典裡最長單詞

想到了先對整個陣列重新排序,長度小的在前,長度一樣的按字串字典序從小到大排序。之後考察每個字串就好了,找到乙個,當前長度的就都跳過,直接考察長度 1的字串。然而蛋疼的是我考察每個字串是否可以轉化為目標字串時用的是dfs。這題要求的是乙個字串a能轉化為字串b即可,而不是求a轉化為b有多少種方法。後者肯...

524 通過刪除字母匹配到字典裡最長單詞

給你乙個字串 s 和乙個字串陣列 dictionary 找出並返回 dictionary 中最長的字串,該字串可以通過刪除 s 中的某些字元得到。如果答案不止乙個,返回長度最長且字母序最小的字串。如果答案不存在,則返回空字串。import j a.util.arrays import j a.uti...

100 通過zookeeper面試

1 zookeeper 的資料模型 zookeeper 的資料模型是什麼樣子呢?它很像資料結構當中的樹,也很像檔案系統的目錄。樹是由節點所組成,zookeeper 的資料儲存也同樣是基於節點,這種節點叫做 znode。但是,不同於樹的節點,znode 的引用方式是路徑引用,類似於檔案路徑 動物 倉鼠...