zoukankan      html  css  js  c++  java
  • leetcode--Algorithm--Array

    2017-12-04  15:33:07

    LeetCode 刷题准备面试

    分类刷题:Start -- Array

    "need a more efficient way to check if the complements exists in the way.if the complements exists, we need to look up its index. the best way to maintain a mapping of each elements int the array to its index?

    -- A hash table. "

        public int[] twoSum(int[] nums, int target){
            Map<Integer, Integer> map = new HashMap<>();
            for(int index = 0; index < nums.length; index++)
            {
                map.put(nums[index],index);
            }
    
            for(int i = 0; i < nums.length; i++)
            {
                int complement = target - nums[i];
    
                //precondition1: in the second iteration we check if each elements`s
                //complement (target - nums[i]) exists in the table.
                //precondition2: the complement must not be nums[i] itself
    
                if(map.containsKey(nums[i]) && map.get(nums[i]) != i){
                    return new int[] {i, map.get(complement)};
                }
            }
    
            throw new IllegalArgumentException("No two sum solution");
        }
  • 相关阅读:
    spring4-2-bean配置-2-属性注入细节
    内存管理tcmalloc
    并发视频,怎么hold住高并发
    struts总结
    最近想玩的一个方向
    虚拟化技术漫谈
    陈硕的博客
    木铎
    安全编程资源-苹果
    POOL
  • 原文地址:https://www.cnblogs.com/masterSoul/p/7977690.html
Copyright © 2011-2022 走看看