(C++)Leetcode狂刷200题——标签“数组篇--简单难度10道 #167. 两数之和 II - 输入有序数组

必会的10个经典算法题(附解析答案代码Java/C/Python看这一篇就够) 常见的数据结构与算法题目,涵盖了数组、链表、栈、队列、二叉树、哈希表、字符串、图、排序和查找等方面的考察点。每个题目都附带有LeetCode的链接,可以点击链接了解更多题目详情。 阅读详情

在这里插入图片描述

第十题、#167. 两数之和 II - 输入有序数组
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。
函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。
说明:
返回的下标值(index1 和 index2)不是从零开始的。
你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。
示例:
输入: numbers = [2, 7, 11, 15], target = 9
输出: [1,2]
解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

双指针法:时间复杂度:O(n)。空间复杂度:O(1)。
设置两个指针分别指向尾部与首部,
对比其俩个的和与目标值移动指针的位置
再进行比较直到找到为止

class Solution {
public:
    vector<int> twoSum(vector<int>& numbers, int target) {
        int numbers_size = numbers.size();
        int i = 0;
        int j = numbers_size-1;
        vector<int> ans;
        while(i<j){
           if(numbers[i] +numbers[j] > target)
           j--;
           else if (numbers[i] +numbers[j] < target)
           i++;
           else{
               ans.push_back(++i);
               ans.push_back(++j);
               return ans;
           }
        }
        return ans;  
    }
};
LeetCode高效刷题全攻略:从环境搭建到实战模板的系统方法论 算法与数据结构是计算机科学的核心基础,它们通过特定的逻辑组织和操作规则,为解决复杂问题提供高效方案。其原理在于将问题抽象为可计算模型,利用时间与空间复杂度的权衡来优化性能。掌握这些基础对于提升编程能力、优化系统性能具有重要技术价值,广泛应用于搜索引擎、推荐系统、数据库索引等场景。本文聚焦于LeetCode刷题实践,系统性地分享了从环境配置、科学路线规划到高频题型模板的完整方法论,旨在帮助开发者通过刻意练习,将算法知识内化为解决实际编码问题的能力,有效应对技术面试中的动态规划与二分查找等经典考察点。 阅读详情

相关推荐

LeetCode面试经典150题刻意训练指南

算法与数据结构是计算机科学的核心基础,其中LeetCode作为技术面试的重要准备工具,其经典150题系列覆盖了数组、链表、二叉树等高频考点。通过刻意练习和系统化的训练方法,可以有效提升算法思维和编码能力。本文重点解析如何利用三刷进阶法、解题框架模板和知识图谱构建,最大化这150题的训练价值。特别适用于准备秋招的在校生和需要巩固基础的开发者,内容涵盖滑动窗口、动态规划等热门前端面试题型,并提供了可量化的进度管理方案。

weixin_33888907的博客 439

给定一个整数数组nums = [2, 7, 11, 15]和目标值target = 9,找出和为目标值的那两个整数的下标

给定一个整数数组nums = [2, 7, 11, 15]和目标值target = 9,找出和为目标值的那两个整数的下标 下面是我的代码,有个错误 class Solution { public int[] twoSum(int[] nums, int target) { for(int i = 0;i < nums.length;i++){ ...

诸事顺利 3330

LeetCode 与 POJ 双平台刷题策略:针对 43 所高校机试的 3 类高频考点分析

本文针对计算机保研机试,分析了LeetCode与POJ双平台在动态规划、图搜索和字符串处理三大高频考点的刷题策略。通过43所高校真题统计,提供专项突破方案和8周备考规划,帮助考生高效提升机试通过率。

weixin_32466193的博客 288

LeetCode-两数之和(C++)

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 来源:力扣(LeetC...

酸菜鱼翻身历程 183

AFE芯片做什么用的?AFE(Analog Front End) 模拟前端

AFE采样精度的影响因素非常多,需要综合考虑各种因素,并根据实际应用场景来选择合适的参数和方法。通过减少噪声、提高采样频率、调节放大器增益、降低电源噪声、优化传输线路、进行温度补偿、选择合适的ADC分辨率、根据信号类型选择合适的AFE参数、进行器件匹配和校准等方法,可以提高AFE的采样精度,从而更好地满足各种应用需求。版权声明:本文为优快云博主「czf.Forver」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

学海无涯的专栏 4万+

深入解析YT8521S千兆以太网PHY芯片的设计与调试要点

本文深入解析了YT8521S千兆以太网PHY芯片的设计与调试要点。重点剖析了硬件设计中的电源方案、RGMII接口电平配置(尤其是1.8V电平方案)以及PCB布局布线等关键细节,并提供了从硬件检查、驱动配置到性能测试的完整调试流程,帮助工程师规避常见陷阱,实现稳定可靠的千兆网络连接。

weixin_29190573的博客 687

【LeetCode】167. 两数之和 II - 输入有序数组

解题思路 使用两个指针,初始分别位于第一个元素和最后一个元素位置,比较这两个元素之和与目标值的大小。 如果和等于目标值,我们发现了这个唯一解。 如果比目标值小,我们将较小元素指针增加一。 如果比目标值大,将较大指针减小一。移动指针后重复上述比较直到找到答案。 代码 //双指针 class Solution { public: vector<int> twoSum(vector<...

Do Better 278

保姆级!n8n 公众号自动化:从 0 搭 “写文案 + 生图 + 发草稿” 全流程

【摘要】本文介绍如何利用n8n搭建全自动公众号内容发布流程,涵盖AI文案生成、封面图制作到自动发布的全链路解决方案。通过对接OpenRouter大模型、阿里云百炼生图API及微信官方接口,实现从内容创作到发布的自动化。重点包括:1)n8n微信节点安装配置;2)大模型API授权与提示词优化技巧;3)图片生成与格式转换处理;4)公众号接口授权注意事项;5)草稿自动生成参数设置要点。特别提醒首次配置时需关闭自动发布功能以检查效果,避免格式错误导致发布失败。该方案无需复杂编程,适合运营人员快速搭建自动化内容生产流程

Jacket0603的博客 1594

(C++)Leetcode狂刷200题——标签“字符串篇--简单难度10道 #13. 罗马数字转整数

第一道、#13. 罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 .

electrical_engineer0的博客 204

图文实录|大规模预训练模型:探讨与展望

第二期「澜舟分享会」我们邀请到来自复旦大学计算机学院邱锡鹏教授分享了“大规模预训练模型:探讨与展望”,本此演讲主要围绕大规模预训练语言模型展开讨论,并探讨大模型成功的原因、适用场景、未来发展方向以及身处大模型时代我们的机遇。

langboat_mengzi的博客 1205

【PyTorch】CNN(一维卷积Conv1D)实现时间序列预测

本文介绍了一维卷积神经网络(Conv1D)在时间序列预测中的应用,展示了其基本原理及实现方式。通过合适的数据预处理和模型调参,Conv1D可以有效地捕捉时间序列数据中的模式,从而进行精准预测。

走向CTO的路上... 1173

拓扑排序(3/10) —— 力扣刷题 210. 课程表 II

拓扑排序第三章

Smileyan's blog 8291

在 RAP 中把业务对象“搬到网口上”:service definition 与 service binding 的全流程、范式与实战

本文解析了SAP ABAP开发中service definition和service binding的关键作用。service definition负责选择要暴露的CDS实体和行为,形成服务模型;而service binding则将服务绑定到具体协议(如OData),生成可访问的端点。两者分离带来三大优势:支持同一模型多重发布、降低环境迁移耦合度、强化安全治理。文章通过预订业务对象的端到端示例,展示了如何从CDS建模到生成Fiori Elements预览。最后以售后工单业务为例,说明这种架构如何支持内外服务

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 390

刷题数据可视化面板:用图表追踪自己的薄弱环节与进步曲线

刷题数据可视化的价值不在于图表好看,而在于把"我感觉 DP 不太行"变成"近 30 天 DP 标签正确率 55%,比平均值低 20 个百分点"。量化是优化的前提,数据是决策的基础。一个好的可视化面板,能让你看到自己的进步轨迹和薄弱环节的具体位置,而不只是"今天刷了几道题"。

cannonjinx的博客 4724

QLineEdit控件: 实现IP地址输入框(基于编辑信号)

在开发网络应用程序时,经常需要用户输入IP地址。直接使用普通输入框容易导致格式错误,用户体验也较差。本文将手把手教你用Qt的QLineEdit控件实现一个智能IP地址输入框。即使你是刚接触Qt的新手,也能通过本文理解核心实现原理。

u011186532的专栏 650

SQL注入详解

SQL注入(SQL Injection)是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱库、被删除、甚至整个服务器权限陷)。 即:注入产生的原因是后台服务器接收相关参数未经过滤直接带入数据库查询...

渗透之路,攻防之间皆学问 26万+

Trie树与字典树:LeetCode前缀搜索与单词匹配实战指南

前缀搜索与单词匹配是算法面试中的高频考点,而Trie树(字典树)正是解决这类问题的利器!🎯 在LeetCode算法题库中,Trie树相关题目不仅考验数据结构理解,更考察实际应用能力。本文将带你深入理解Trie树的核心原理,并通过LeetCode实战案例掌握前缀搜索与单词匹配的解题技巧。 ## 什么是Trie树?前缀搜索的高效数据结构 Trie树,又称字典树或前缀树,是一种专门用于字符串检索的

gitblog_01084的博客 670

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C++算法刷题工程化实践:从解题技巧到项目构建

算法是计算机科学的核心基础,其本质是通过一系列指令高效解决特定问题的计算方法。理解算法的核心在于掌握其时间与空间复杂度分析,这直接决定了程序的执行效率与资源消耗。在工程实践中,将算法解题过程系统化、项目化,能极大提升学习效果与代码复用能力。通过构建本地可维护的代码库,结合版本控制与系统化笔记,可以将零散的解题经验沉淀为结构化的知识体系。对于C++开发者而言,在此过程中深入探究不同数据结构(如vector、unordered_map)与算法范式(如滑动窗口、双指针)的适用场景与性能差异,具有极高的技术价值。本

weixin_34116110的博客 425

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

LeetCode 908 最小差值 I:数组极值处理与数学推导详解

在算法与数据结构的学习中,数组操作和极值处理是基础且核心的技术概念。其原理在于通过遍历或数学方法高效地获取序列中的最大值与最小值,进而解决一系列优化问题。掌握这项技术对于提升代码效率、理解问题本质具有重要价值,尤其在处理数据范围调整、指标优化等场景中应用广泛。本文以一道经典的数组极值问题——LeetCode 908 最小差值 I 为例,深入剖析如何将问题转化为对最大值和最小值的独立调整,并推导出核心公式 `max(0, (max-min) - 2*k)`。通过结合 Python 内置函数 `max()` 和

weixin_34122810的博客 416

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【经典算法】LeetCode 27. 移除元素(Java/C/Python3/Go实现含注释说明,Easy)

方式优点缺点时间复杂度空间复杂度双指针原地修改,满足题目要求需要对数组进行遍历O(n)O(1)

1828

leetcode简单题c++答案收集(数组+字符串+数学)

total:72    time:9-11P.M  2 hour  Plan:2~3 oneday one month misson must complete! 一、字符串   # 题名 标签 通过率 难度 1 709 转换成小写字母(ok) 字符串 70.4% 简单   657 ...

云端马匪的博客 761

异或运算与哈希表:从两数异或到子数组异或和的算法精解

异或运算(XOR)是计算机科学中一种基础的位运算,其核心特性包括归零律、恒等律和自反性。这些特性使得异或运算在数据校验、加密以及算法优化中具有独特价值。在算法领域,利用异或运算的自反性,可以将“寻找满足特定异或关系的数对”问题,转化为高效的查找问题。结合哈希表这一数据结构,能够将原本O(n²)的暴力枚举时间复杂度优化至O(n),极大地提升了算法效率。这种“前缀异或+哈希表”的技术组合,是解决“子数组异或和”等经典问题的核心范式,广泛应用于算法竞赛和面试场景中,是检验开发者对数据结构与算法思维理解深度的关键考

weixin_30652897的博客 401

双指针算法实战:原地移动零元素详解

数组操作是算法基础中的核心内容,其中双指针技巧因其高效性被广泛应用。通过快慢指针协同工作,可以在O(n)时间复杂度和O(1)空间复杂度内完成特定元素的筛选与移动。这种技术特别适合处理需要原地(in-place)操作的场景,如LeetCode 283题移动零元素问题。在实际工程中,类似技术可用于数据库记录整理、图像像素处理等场景。本文以移动零问题为例,详细解析标准双指针解法及其优化变体,帮助开发者掌握这一高频面试考点。

weixin_30883311的博客 325

每周技术面试高频题汇总:大厂面试官到底在考什么?完整实战指南

大家好,又到了每周的面试复盘时间。。现在的面试官更喜欢把你扔进一个具体的“场景”里,看你怎么思考、怎么权衡(Trade-off)。基于过去一周 优快云、掘金、LeetCode 等社区的热议内容,我为大家精选了,涵盖算法、系统设计、数据库和网络四大领域。咱们不整那些虚的,直接上干货,看看这些题目背后的考察点和解题思路。

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 482

算法思维系统构建指南:从数据结构到高级算法的学习路径

算法与数据结构是计算机科学的核心基础,其本质是高效组织与处理数据的系统方法。理解其原理,关键在于掌握时间与空间复杂度分析,这决定了程序的性能边界。掌握算法思维的技术价值在于,它能将复杂问题分解为可计算的步骤,是优化代码性能、设计高效系统的基石,广泛应用于搜索引擎、推荐系统、数据库索引等场景。对于开发者而言,无论是应对技术面试中的动态规划与贪心算法挑战,还是解决实际工程中的性能瓶颈,系统性的算法训练都至关重要。本文聚焦于通过一套结构化的学习路径,帮助学习者将抽象的算法知识内化为解决实际问题的编程能力,并特别关

weixin_30243533的博客 361

牛客2017三模编程题复盘:从边界条件到动态规划优化

在算法学习和笔试备战中,编程题的训练价值不仅在于刷题数量,更在于对题目背后命题逻辑的拆解。无论是数组模拟、字符串处理,还是动态规划与数据结构应用,每类题型都对应着大厂笔试中高频出现的核心能力——基础扎实、边界敏感、优化意识。本文以牛客2017年三模编程题为例,从经典题型的命题脉络出发,分析螺旋填数、子序列DP、字符串匹配等典型题目的实战解法,并重点剖析空数组、索引偏移、多组输入等容易被忽略的边界陷阱。掌握这些基础算法原理,能够帮助求职者在笔试中稳定发挥,将模考经验转化为真实竞争力。无论你正在准备春招秋招,还

weixin_33937778的博客 404
上一篇: (C++)Leetcode狂刷200题——标签“数组篇--简单难度10道 #169. 多数元素
下一篇: (C++)Leetcode狂刷200题——标签“字符串篇--简单难度10道 #13. 罗马数字转整数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值