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");
        }
  • 相关阅读:
    angularjs
    HTML5
    Java Concurrency —— 《Java并发编程实战》读书笔记
    java IO
    Struts2 文件上传下载
    SQL join
    Annotation
    if表达式
    Ext js 下拉框下拉的同时输入模糊查询
    JSP如何把一个页面的值传到另一个页面
  • 原文地址:https://www.cnblogs.com/masterSoul/p/7977690.html
Copyright © 2011-2022 走看看