news 2026/6/10 17:01:32

hot100 1.两数之和

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
hot100 1.两数之和

一、方法一:暴力。

1.思路:先枚举下标i,再枚举下标j,然后判断nums[i] + nums[j] == target。

2.复杂度分析:

(1)时间复杂度:O(n^2),两层for循环,其中n为nums的长度。

(2)空间复杂度:O(1),仅用到了若干额外变量。

附代码:

class Solution { public int[] twoSum(int[] nums, int target) { for(int i = 0;;i++){ //枚举i,因为题目保证有解,所以可不加遍历条件,并用无限循环省略最后的return语句 //如果加了i < nums.length,编译器反而会在编译时做静态代码分析时认为循环结束时可能没有返回值,会报错error: missing return statement for(int j = i + 1;j < nums.length;j++){ //枚举i右边的j if(nums[i] + nums[j] == target){ return new int[] {i,j}; //返回下标 } } } } }

二、方法二:哈希表

1.思路:如下图所示。

2.复杂度分析:

(1)时间复杂度:O(n),其中n为nums的长度。

(2)空间复杂度:O(n),哈希表需要O(n)的空间。

附代码:

class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> map = new HashMap<>(); for(int j = 0;;j++){//枚举j int x = nums[j]; //在左边找满足target - nums[j]的nums[i] if(map.containsKey(target - x)){ //找到了 return new int[]{map.get(target - x),j}; //返回两个数的下标 } map.put(x,j); //还没找到,先保存当前nums[j]和j至哈希表 } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:59:45

通用轨迹验证码识别代码

一、简介 现在各个网站反爬措施越来越丰富。反爬方式也越来越难&#xff0c;轨迹验证码就是防御的最好措施&#xff0c;下面最近最近收集到不同网站轨迹验证码的图片样例。 轨迹的也从最开始的简单&#xff0c;变得越来越复杂。为了增加难度&#xff0c;轨迹也变得越来越不清…

作者头像 李华
网站建设 2026/6/10 13:00:19

Bun:下一代 JavaScript 运行时与工具链

引言 在 JavaScript 生态系统中,Node.js 长期以来一直是服务端 JavaScript 运行时的主流选择。然而,随着前端技术的飞速发展和开发者对性能要求的不断提高,一个新的挑战者出现了——Bun。这个由 Jarred Sumner 创建的全新 JavaScript 运行时,正以其卓越的性能和创新的设计理念,…

作者头像 李华
网站建设 2026/6/9 22:35:45

AutoGPT打造自动绘本生成器:图文故事创作

AutoGPT打造自动绘本生成器&#xff1a;图文故事创作 在儿童内容创作领域&#xff0c;一个长期存在的难题是——如何高效地将一个简单的创意转化为一本完整、连贯且富有童趣的绘本&#xff1f;传统流程中&#xff0c;编剧构思情节、画师设计角色、编辑把控语言难度、排版人员整…

作者头像 李华
网站建设 2026/6/10 13:34:07

LobeChat能否实现对话导出为PDF或Markdown文件?

LobeChat能否实现对话导出为PDF或Markdown文件&#xff1f; 在今天&#xff0c;越来越多的开发者和知识工作者开始将AI聊天工具作为日常工作的核心助手。从撰写技术文档、整理学习笔记&#xff0c;到客户服务记录与团队协作问答&#xff0c;人们不再满足于“说完了就结束”的临…

作者头像 李华
网站建设 2026/6/10 15:12:03

(开题报告/毕业设计)基于springboot+vue智慧校园管理系统毕业项目源代码

springbootvue智慧校园管理系统 摘 要 传统校园管理系统往往由多个独立的子系统组成&#xff0c;如教务管理等&#xff0c;这些系统之间缺乏有效的数据共享和交互&#xff0c;且各类审批流程多为纸质化操作&#xff0c;流程复杂且耗时&#xff0c;降低了工作效率。随着信息技…

作者头像 李华
网站建设 2026/6/10 15:13:16

基于Seed-Coder-8B-Base的IDE插件设计思路与实现路径

基于Seed-Coder-8B-Base的IDE插件设计思路与实现路径 在现代软件开发中&#xff0c;开发者每天面对的是越来越复杂的项目结构、日益增长的代码量和不断提速的交付压力。尽管主流IDE已经提供了诸如语法高亮、自动补全、重构支持等基础辅助功能&#xff0c;但这些工具大多停留在“…

作者头像 李华