news 2026/8/6 4:28:00

算法面试——哈希表:两数之和、三数之和、最长连续序列

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法面试——哈希表:两数之和、三数之和、最长连续序列

哈希表以 O(1) 的查找速度解决快速判断元素是否存在的问题。

一、两数之和

publicint[]twoSum(int[]nums,inttarget){Map<Integer,Integer>map=newHashMap<>();for(inti=0;i<nums.length;i++){intcomplement=target-nums[i];if(map.containsKey(complement)){returnnewint[]{map.get(complement),i};}map.put(nums[i],i);}returnnewint[]{-1,-1};}

二、三数之和

publicList<List<Integer>>threeSum(int[]nums){Arrays.sort(nums);List<List<Integer>>result=newArrayList<>();for(inti=0;i<nums.length-2;i++){if(i>0&&nums[i]==nums[i-1])continue;intleft=i+1,right=nums.length-1;while(left<right){intsum=nums[i]+nums[left]+nums[right];if(sum==0){result.add(Arrays.asList(nums[i],nums[left],nums[right]));while(left<right&&nums[left]==nums[left+1])left++;while(left<right&&nums[right]==nums[right-1])right--;left++;right--;}elseif(sum<0)left++;elseright--;}}returnresult;}

三、最长连续序列

publicintlongestConsecutive(int[]nums){Set<Integer>set=newHashSet<>();for(intnum:nums)set.add(num);intmaxLen=0;for(intnum:set){// 只从连续序列的起点开始找if(!set.contains(num-1)){intcur=num,len=1;while(set.contains(cur+1)){cur++;len++;}maxLen=Math.max(maxLen,len);}}returnmaxLen;}

💡 觉得有用的话,点赞 + 关注【张老师技术栈】吧!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 4:26:06

网站建设前期准备:避免踩坑、提升转化,企业官网搭建全流程深度解析

说实话,很多老板或者市场负责人在提起做网站这件事的时候,第一反应往往是“找个技术外包”或者“买个模板套一下”,觉得这事儿简单得很,几天就能上线,跟点外卖似的,付完钱坐等收货。但如果你真的这么想,那我只能遗憾地告诉你,你大概率是在给未来的自己挖坑。我接触过太…

作者头像 李华
网站建设 2026/8/6 4:24:40

用Postman深入理解CORS:从HTTP报文视角剖析跨域请求机制

1. 项目概述&#xff1a;为什么要在Postman里折腾跨域请求&#xff1f;如果你是一名前端开发者&#xff0c;或者经常和API打交道&#xff0c;那么“跨域请求”这个词对你来说一定不陌生。它就像一道无形的墙&#xff0c;浏览器出于安全考虑&#xff0c;默认禁止了不同源&#x…

作者头像 李华
网站建设 2026/8/6 4:24:30

Wi-Fi二维码制作全攻略:从原理到实践,解决兼容性与安全难题

1. 从“手动输入”到“一扫即连”&#xff1a;Wi-Fi二维码的价值与场景每次家里来客人&#xff0c;或者公司有访客&#xff0c;最尴尬的场景之一莫过于对方问&#xff1a;“你家Wi-Fi密码是多少&#xff1f;”然后你开始回忆那串大小写字母、数字和符号的组合&#xff0c;对方则…

作者头像 李华
网站建设 2026/8/6 4:21:17

Android卡顿优化实战:从工具使用到案例剖析的完整解决方案

1. 项目概述&#xff1a;从现象到本质的卡顿分析实战 做Android开发久了&#xff0c;最怕听到用户反馈“这App怎么一卡一卡的”。卡顿和掉帧&#xff0c;这两个词就像悬在开发者头上的达摩克利斯之剑&#xff0c;直接影响着用户体验和应用口碑。网上关于卡顿优化的理论文章很多…

作者头像 李华
网站建设 2026/8/6 4:20:33

揭秘沙漠风网站建设背后的真相:为什么你的网站总是转化率低?

在这个互联网红利逐渐见顶、流量成本越来越贵的时代,很多老板或者是市场部的负责人,经常会问我一个特别扎心的问题:“李哥,咱们公司的网站都做了一年了,怎么感觉就像是在荒野中建的城堡,没人看,也没人用,钱是不是白扔了?”说实话,听到这种问题,我心里挺不是滋味的。…

作者头像 李华