假設我們有兩個文本輸入。 「input1」是小說中的一個頁面。 「輸入2」是一個隨機的句子「你好嗎?」。我需要驗證這個輸入2是否可以使用input1中的單詞構造。我只能解決這個問題,就像這樣。如何驗證輸入2是否可以使用Java在輸入1中使用單詞構造?
步驟0:創建布爾標誌並將值設置爲true。
step1:將第一個輸入分成標記並存儲每個詞在散列圖中出現的次數。
step2:將第二個輸入拆分爲令牌並遍歷令牌。
step3:在循環內部,檢查當前令牌是否存在於地圖中。如果不是,則將布爾標誌設置爲false並退出循環。如果是,請檢查從Map返回的條目的值。如果它爲零,則將布爾標誌設置爲false並退出循環。如果值是一個或多個,則將其減1並繼續循環。
step4:一旦循環完成,返回布爾標誌的值。
正如您所看到的,如果輸入很大,步驟1和步驟3可能需要很長時間。有什麼解決這個問題的方法可以有更好的運行時間?
這是非常合理的建議,你對過早優化絕對正確。我在一次採訪中被問到這個問題,採訪者堅持認爲他們是解決這個問題的更好的解決方案。只是試圖找出它是什麼......(在面試結束時我忘了問他) – RKodakandla
如果您在原始問題中包含了所有相關信息,這將有所幫助。我編輯了我的答案,以提供一個替代解決方案。 –