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];
    }
}
相关推荐
Chan1611 分钟前
批处理优化:从稳定性、性能、数据一致性、健壮性、可观测性五大维度,优化批量操作
java·spring boot·后端·性能优化·java-ee·intellij-idea·优化
行者阿毅12 分钟前
langchain4j+DashScope (通义千问)文生图
java·ai作画
Bug退退退12321 分钟前
Java 网络流式编程
java·服务器·spring·sse
IT机器猫21 分钟前
RabbitMQ
java·rabbitmq·java-rabbitmq
小杨的全栈之路25 分钟前
冒泡、插入、选择、归并、堆排序:从名字由来到Java实现,一篇讲透
java·排序算法
浅川.2526 分钟前
xtuoj string
开发语言·c++·算法
yinke小琪40 分钟前
面试官:谈谈为什么要拆分数据库?有哪些方法?
java·后端·面试
韩非41 分钟前
if 语句对程序性能的影响
算法·架构
自由的疯42 分钟前
java DWG文件转图片
java·后端·架构
小兔崽子去哪了44 分钟前
EasyExcel 使用
java·excel