力扣-1.两数之和

题目链接

1.两数之和

java 复制代码
class Solution {
    public int[] twoSum(int[] nums, int target) {
        HashMap<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            map.put(nums[i], i);
        }
        int[] res = new int[2];
        for (int i = 0; i < nums.length; i++) {
            if (map.containsKey(target - nums[i]) && map.get(target - nums[i]) != i) {
                res[0] = i;
                res[1] = map.get(target - nums[i]);
            }
        }
        return res;
    }
}

小结:注意不能重复使用,可以一边遍历一边插入map进行优化。

相关推荐
修己xj42 分钟前
探索设计模式的宝库:Java-Design-Patterns
算法
鲨鱼辣椒_TUT1 小时前
MySQL连接算法和小表驱动大表的原理
mysql·算法·adb
设计师小聂!1 小时前
力扣热题100------21.合并两个有序链表
算法·leetcode·链表
shenghaide_jiahu2 小时前
数学建模——递归和动态规划
算法·数学建模·动态规划
黄昏晓x2 小时前
数据结构----排序
java·数据结构·排序算法
凯子坚持 c3 小时前
动态规划专题:详解二维费用背包问题——以“一和零”与“盈利计划”为例
算法·动态规划
黑色的山岗在沉睡3 小时前
P1948 [USACO08JAN] Telephone Lines S
数据结构·c++·算法·图论
快去睡觉~4 小时前
力扣301:删除无效的括号
数据结构·算法·leetcode