想到了先對整個陣列重新排序,長度小的在前,長度一樣的按字串字典序從小到大排序。之後考察每個字串就好了,找到乙個,當前長度的就都跳過,直接考察長度+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 的引用方式是路徑引用,類似於檔案路徑 動物 倉鼠...