Problem
Design and implement a TwoSum class. It should support the following operations: add and find.
add - Add the number to an internal data structure.
find - Find if there exists any pair of numbers which sum is equal to the value.
Example 1:
add(1); add(3); add(5); find(4) -> true find(7) -> false
Example 2:
add(3); add(1); add(2); find(3) -> true find(6) -> falseSolution
class TwoSum { MapTwo HashSet -- TLEmap; public TwoSum() { map = new HashMap<>(); } public void add(int number) { map.put(number, map.getOrDefault(number, 0)+1); } public boolean find(int value) { for (Map.Entry entry: map.entrySet()) { int i = entry.getKey(); int j = value-i; if ((i == j && entry.getValue() >= 2) || (i != j && map.containsKey(j))) { return true; } } return false; } }
class TwoSum { Setnums; Set sums; /** Initialize your data structure here. */ public TwoSum() { nums = new HashSet<>(); sums = new HashSet<>(); } /** Add the number to an internal data structure.. */ public void add(int number) { Iterator iterator = nums.iterator(); while (iterator.hasNext()) { sums.add(iterator.next()+number); } nums.add(number); } /** Find if there exists any pair of numbers which sum is equal to the value. */ public boolean find(int value) { return sums.contains(value); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/71903.html
摘要:如果沒有,就到里面復雜度分析就是,因為只掃了一遍數組。復雜度分析當然就是最壞情況了,也是標準的雙指針復雜度。復雜度分析這種題應該不太需要分析復雜度吧,能實現就行。復雜度分析還是最后再說兩句所以可以看出,很多題目思路一致,換湯不換藥。 Two Sum 友情提示:篇幅較長,找題目的話,右邊有目錄,幸好我會MarkDown語法。改成了系列模式,因為類似的題不少,本質上都是換殼,所以在同一篇文...
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經到題,所以后面會調整自己,在刷算法與數據結構的同時,攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區別...
摘要:在線網站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個題。這是項目地址歡迎一起交流學習。 這篇文章記錄我練習的 LeetCode 題目,語言 JavaScript。 在線網站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...
摘要:只要我們能夠有一個以某一中間路徑和為的哈希表,就可以隨時判斷某一節點能否和之前路徑相加成為目標值。 最新更新請見:https://yanjia.me/zh/2019/01/... Path Sum I Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that addin...
摘要:此時,若也正好減小為,說明當前集合是正解,加入數組。兩個無法得到正解的情況是在為,而不為時,當然已經無法得到正解,。在不為而卻已經小于等于的情況下,此時仍要加入其它數以令為,而要加入的數都是到的正整數,所以已無法滿足令為的條件,。 Combination Sum I & II: link Combination Sum III Problem Find all possible com...
閱讀 2410·2021-10-09 09:44
閱讀 2142·2021-10-08 10:05
閱讀 3434·2021-07-26 23:38
閱讀 3012·2019-08-28 18:16
閱讀 822·2019-08-26 11:55
閱讀 1830·2019-08-23 18:29
閱讀 2043·2019-08-23 18:05
閱讀 1374·2019-08-23 17:02