LeetCode热题100

一丶哈希

1、两数之和

方法一(自己想到):暴力枚举,两次循环遍历所有相加的情况

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

方法二(想不到):哈希表,遍历数组查看哈希表中是否存在target-当前数组元素值的key,如果存在返回当前数组索引和哈希表key的value,不存在把当前的数组元素和下标记录到哈希表中

java 复制代码
class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer,Integer> map=new HashMap<>();
        for(int i=0;i<nums.length;i++){
            if(map.containsKey(target-nums[i])){
                return new int[]{i,map.get(target-nums[i])};
            }
            map.put(nums[i],i);
        }
        return new int[0];
    }
}
相关推荐
卑微的Coder4 小时前
Redis Set集合命令、内部编码及应用场景(详细)
java·数据库·redis
CrissChan4 小时前
Pycharm 函数注释
java·前端·pycharm
C++ 老炮儿的技术栈5 小时前
UDP 与 TCP 的区别是什么?
开发语言·c++·windows·算法·visual studio
殇者知忧5 小时前
【论文笔记】若干矿井粉尘检测算法概述
深度学习·神经网络·算法·随机森林·机器学习·支持向量机·计算机视觉
启航挨踢5 小时前
java学习电子书推荐
java
wgslucky5 小时前
Dubbo报错:module java.base does not “opens java.lang“ to unnamed module
java·开发语言·dubbo
DougLiang6 小时前
关于easyexcel动态下拉选问题处理
java·开发语言
mochensage7 小时前
C++信息学竞赛中常用函数的一般用法
java·c++·算法
chengooooooo7 小时前
leetcode Top100 238. 除自身以外数组的乘积|数组系列
算法·leetcode
计蒙不吃鱼7 小时前
一篇文章实现Android图片拼接并保存至相册
android·java·前端