• 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");
        }
  • 相关阅读:
    四则运算
    androidstdio导入工程报错
    日程代码任务1
    软件团队模式选择
    初识软件工程
    java数组中最大的子数组之和
    解决键盘布局错误(日文系统)
    固态硬盘的更替
    ZendDebugger的配置
    apache命令行启动
  • 原文地址:https://www.cnblogs.com/masterSoul/p/7977690.html
Copyright © 2020-2023  润新知