[Java][Leetcode simple] 1. 两数之和

1. 两重循环

o N^2

java 复制代码
class Solution {
    public int[] twoSum(int[] nums, int target) {
        int n = nums.length;
        int[] res = new int[2];
        for(int i=0;i<n;i++){
            for(int j =0;j<n;j++){
                if( i != j && nums[i]+ nums[j] == target){
                    return new int[]{i,j};
                }
            }
        }

        return res;
    }
}

2. HashMap

  1. 放入HaspMap
  2. 从中是否有合适的
java 复制代码
class Solution {
    public int[] twoSum(int[] nums, int target) {
        int n = nums.length;
        int[] res = new int[2];
        Map<Integer, Integer> map = new HashMap<>();
        for(int i=0;i<n;i++){
           map.put(nums[i], i);
        }

        for(int i=0;i<n;i++){
           Integer j = map.get(target - nums[i]);
           if(j != null && i!=j){
               res[0] = i;
               res[1] = j;

               return res;
           }
        }
         return  res;
    }
}

3. 官解2,确实比我自己想的要精妙

把i当作第二个因子,如果存在解,那么第一个因子肯定已经放入map中了。所以可以大胆的一遍查找,一边填充元素

java 复制代码
class Solution {
    public int[] twoSum(int[] nums, int target) {
        int n = nums.length;

        Map<Integer, Integer> map = new HashMap<>();
       

        for(int i=0;i<n;i++){
            int j = target - nums[i];
            if(map.containsKey(j)){
                return new int[]{i, map.get(j)};
            }
            map.put(nums[i], i);
        }
         return  new int[0];
    }
}
相关推荐
步行cgn5 分钟前
OCP开闭原则:面向对象设计的核心原则
java·开发语言·开闭原则
落木萧萧82514 分钟前
MyBatis 启动的时候都在干什么:从 MappedStatement 说起
java·数据库·后端
en.en..15 分钟前
Linux wait()函数(预防僵尸进程)
java·大数据·开发语言
Thomas214320 分钟前
spark sort shuffer 和 hash shuffer 图解对比
算法·哈希算法
扬大平仔29 分钟前
小深:用 AgentScope Java 2.0 Harness 做私人助手(上)
java·开发语言
captain37635 分钟前
网络编程(1)
java·网络·ide·java-ee
AbandonForce38 分钟前
简谈线程池
开发语言·c++·算法
李少兄39 分钟前
JavaScript 运算符完全指南
java·开发语言·javascript
极客互动API44 分钟前
企业微信 AI 智能客服实战:Spring Boot+Vue 接入豆包、扣子、DeepSeek
java·人工智能·微信·企业微信
今天AI了吗1 小时前
Codex使用技巧:深度解析 Plan Mode 与 Goal Mode
java·网络·人工智能·架构·java-ee