Two Sum III - Data structure design
Total Accepted: 311 Total Submissions: 1345Design 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.
For example,
add(1); add(3); add(5); find(4) -> true find(7) -> false [分析] HASH table O(N)存, O(1) 取public class TwoSum { Map<Integer, Integer> map = new HashMap<Integer, Integer>(); public void add(int number) { if(map.containsKey(number)) { map.put(number, map.get(number) + 1); } else { map.put(number, 1); } } public boolean find(int value) { for(int key : map.keySet()) { int another = value - key; if(another == key && map.get(key) > 1) { return true; } else if(another != key && map.containsKey(another)) { return true; } } return false; } }
 
                   
                   
                   
                   
                             本文介绍如何设计并实现一个TwoSum类,该类支持添加数值和查找特定数值是否存在两个数之和等于目标值的功能。利用哈希表实现O(N)的存储和O(1)的查找效率。
本文介绍如何设计并实现一个TwoSum类,该类支持添加数值和查找特定数值是否存在两个数之和等于目标值的功能。利用哈希表实现O(N)的存储和O(1)的查找效率。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   424
					424
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            