剑指Offer刷题(和为S的两个数字)

鸿蒙实战开发教程-注册登录页面 在密码输入框中,只要设置TextInput的类型就可以实现带眼睛logo的密码输入框效果: 阅读详情

剑指Offer刷题(和为S的两个数字)

一.题目描述

输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。

输出描述:

对应每个测试案例,输出两个数,小的先输出。

二.代码(C++)

class Solution {
public:
    vector<int> FindNumbersWithSum(vector<int> array,int sum) {
        int n = array.size();
        int i=0,j=n-1;
        //int mult = 0;
        vector<int> x;
        while(i<j)
        {
            if(array[i]+array[j]<sum)
            {
                ++i;
            }
            else if(array[i]+array[j]>sum)
            {
                --j;
            }
            else 
            {
                x.push_back(array[i]);
                x.push_back(array[j]);
                break;
            }
        }
        return x;
    }
};

三.提交记录

在这里插入图片描述

四.备注

设置左右两个指针,和大于S,右指针左移,和小于S,左指针右移。差距越大的两个数乘积越小,故无需判断乘积。

数字IC后端PPA优化实战:Timing一致性策略与Module Region布局技巧 本文深入探讨了数字IC后端设计中的PPA优化实战,重点解析了Timing一致性问题及其解决方案。通过调整Clock Uncertainty、Timing Derate和RC Scale Factor等关键参数,使Innovus等PR工具的分析结果更接近PrimeTime签核结果。同时,文章详细介绍了Module Region布局技巧,通过为关键模块划定物理区域,优化单元摆放,有效减少线延迟,从而协同提升时序收敛效率与设计可预测性。 阅读详情

相关推荐

使用libx265对YUV进行h265编码

使用libx265对YUV进行h265编码

Embedded engineer 3079

剑指offer刷题3 和为s的两个数字

这道题思路非常简单,对时间复杂度也没有过多的要求,是属于简单题吧,但还是要记录一下成果 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M。 解题思路 采用数组遍历的方法,由于数组是递增排列的,这里会有一个判断技巧,要找的数的位置肯定小于给的数,且只需要判断当前两个数字的和大于给定数时不满足条件直接放弃,转向下一组,这样可能会稍微节省一

tiny_Firefly的博客 141

Android malloc_debug实现原理及使用

2)设置 __libc_globals 对象中的 libc_globals.default_dispatch_table 和 current_dispatch_table 指向 malloc_dispatch_table,以后在 malloc 库函数里都会通过 GetDispatchTable(),这个函数就是返回的 current_dispatch_table 指针;MAX_FRAMES 表示被抓取的 frames 的数量,如果设为0, 表示在分配空间被释放时,不会抓取任何调用栈。

专注于系统快稳省领域 3743

剑指Offer刷题笔记——和为S的两个数字

输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 思路:对于一个数组,我们可以定义两个指针,一个从左往右遍历(pleft),另一个从右往左遍历(pright)。首先,我们比较第一个数字和最后一个数字的和curSum与给定数字sum,如果curSum < s...

七月听雪的博客 205

帕德伯恩大学轴承数据集(PU)介绍

PU数据集介绍一、帕德伯恩大学轴承数据集故障类别说明二、关于损伤描述2.1 损伤组合:2.2 重复和多重损伤的安排:2.3 几何尺寸2.4 损伤程度2.5损伤特征数据集损伤类别三、人为损坏轴承3.1 最常用的人为损伤制造方法是:3.2 本数据集使用的人工损坏是由三种不同方法引起的四、通过加速寿命试验产生真正的轴承损坏样本 一、帕德伯恩大学轴承数据集 数据集下载地址 从帕德伯恩大学获得的PU数据集是一个6203轴承数据集,包括人为诱发的和真实的损害。采用压电加速度计采集轴承座的振动信号,采样频率为64 kHz

m0_47180208的博客 3万+

手把手教你构建轻量级CLIP模型:从理论到实践

本文手把手教你从零构建一个轻量级CLIP模型,深入解析其核心原理——对比学习,并提供完整的代码实践。通过精简的模型架构、数据准备和训练循环实现,帮助读者彻底理解多模态模型如何让图像与文本在共享空间中对齐,为学习更复杂的AI模型打下坚实基础。

weixin_29100927的博客 326

剑指offer刷题————和为s的两个数字VS和为S的连续正数序列

题目1: 问题重述: 题目:输入一个递增排序的数组和一个数字s。在数组中查找这两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。 例如:输入数组{1,2,4,7,11,15}和数字14。由于4+11=15,因此输出4和11。 思路解析: 我们可以这样,设置两个指针head和tail,head在数组头部,tail在数组末尾。由于数组是递增的,如果两个head对应的值加上tail对应的值如果小于s,那么只能head向后遍历,如果大于s,只能tail向前遍历,按照这种逻辑搜索,直

李志杰的博客 190

TJA1445/TJA1465 CAN收发器硬件设计与软件配置实战指南

控制器局域网(CAN)总线是汽车电子和工业控制领域实现电子控制单元(ECU)间可靠通信的核心技术。其工作原理是将数字信号转换为差分信号进行抗干扰传输,技术价值在于构建稳定、高效的分布式实时控制系统。随着汽车电子架构向域集中式演进,对CAN总线的通信速率、网络复杂度和静态功耗提出了更高要求,这催生了支持CAN FD协议和智能电源管理的新一代高速CAN收发器。在车载网关、域控制器及工业网络节点等应用场景中,NXP的TJA1445和TJA1465系列收发器凭借其部分组网(Partial Networking)和选

weixin_29655587的博客 409

【刷题-剑指 Offer】 57. 和为s的两个数字

题目 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。

padawan75的博客 194

飞书日历同步Outlook翻车?我踩过的坑和最终用Google Calendar成功的完整配置记录

本文详细记录了从Outlook日历同步到飞书时遇到的常见问题及解决方案,特别是通过Google Calendar实现稳定同步的完整配置流程。文章揭示了Outlook同步方案易翻车的原因,并提供了Google Calendar的避坑指南、高级技巧和企业级部署建议,帮助用户高效实现日历同步。

weixin_33724046的博客 313

11、体内皮质功能的电压敏感染料成像技术

本文详细介绍了电压敏感染料成像(VSDI)技术在体内皮质功能研究中的应用。内容涵盖VSDI的技术起源、作用机制、信号特点与解读局限性,以及其在映射感觉皮质功能区方面的优势。文章对比了VSDI与电极记录和钙成像技术的差异,突出了其在高时空分辨率下监测神经元群体亚阈值活动的独特价值。同时,提供了完整的实验操作流程,包括手术步骤、染料应用、光学系统配置及数据分析方法,并总结了常见问题及其解决方案。随着基因靶向和多模态技术结合的发展,VSDI有望进一步提升信号特异性和空间精度,成为解析大脑网络动态的重要工具。

Apple的专栏 81

【剑指offer刷题笔记】57.和为s的两个数字

剑指No.57_和为s的两个数字 题目:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 二分查找+双指针 有一个关键条件就是递增排序的数组,所以马上想到了二分查找,当然本题用与不用二分查找没有太大差别,但希望培养一下这类思维。 public int[] towSumWay(int[

weixin_42050795的博客 221

ESP-IDF OTA升级过程中遇到的“esp_transport_read returned:-1 and errno:128”问题(4)

ESP-IDF OTA升级过程中遇到的“esp_transport_read returned:-1 and errno:128”问题(4)

phmatthaus的专栏 1532

【剑指 Offer 57. 和为s的两个数字】刷题笔记

力扣-剑指 Offer 57. 和为s的两个数字。

Shelly_Cao的博客 208

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【牛客剑指offer刷题】:Python:42.和为S的两个数字

和为S的两个数字 时间限制:1秒 空间限制:32768K 热度指数:193376 算法知识视频讲解 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 解析 这里需要证明一个式子: 输出两个数的乘积最小的。这句话的理解? 假设:若b>a,且存在, a...

Jack_Kuo的博客 462

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

《剑指offer》刷题笔记(知识迁移能力):和为S的两个数字

《剑指offer》刷题笔记(知识迁移能力):和为S的两个数字 转载请注明作者和出处:http://blog.youkuaiyun.com/u011475210 代码地址:https://github.com/WordZzzz/Note/tree/master/AtOffer 刷题平台:https://www.nowcoder.com/ 题  库:剑指offer 编  者:WordZzzz

WordZzzz 1261

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

《剑指offer》刷题——【面试中的各项能力】面试题57:和为s的数字(java实现)

《剑指offer》刷题——【面试中的各项能力】面试题57:和为s的数字(java实现)(一)题目一:和为s的两个数字一、题目描述二、题目分析方法一:双循环-O(n^2)方法二:双指针-O(n)代码实现 (一)题目一:和为s的两个数字 一、题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于 S,输出两个数的乘积最小的。 二、题目分析 方法...

HW_870754395的博客 456

LeetCode刷题——剑指 Offer 57. 和为s的两个数字

剑指 Offer 57. 和为s的两个数字

艾醒的博客 212

刷题|剑指 Offer 57. 和为s的两个数字_JavaScript

题目描述 剑指 Offer 57. 和为s的两个数字 解题思路 方法1:map遍历 加法转减法 map 方法2: 双指针 注意:题中说这是一个递增数组,很容易想到双指针 代码实现 方法1:map遍历 /** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = function(nums, target) { let m = new Map(); for (l

weixin_49179577的博客 124

刷题记录——剑指 Offer 57. 和为 s 的两个数字

2021/9/28 题目描述 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[2,7] 或者 [7,2] 示例 2: 输入:nums = [10,26,30,31,47,60], target = 40 输出:[10,30] 或者 [30,10] 限制: 1 <= nums.length <= 10^5 1 <= nums[i

张壮壮的博客 141

牛客网剑指offer刷题Java版-40和为S的两个数字

题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 import java.util.ArrayList; public class Solution { public ArrayList<Integer> FindNumbersW...

qq_42632671的博客 136

【LeetCode刷题(简单程度)】剑指 Offer 57. 和为s的两个数字

输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[2,7] 或者 [7,2] 示例 2: 输入:nums = [10,26,30,31,47,60], target = 40 输出:[10,30] 或者 [30,10] 限制: 1 <= nums.length <= 10^5 1 <= nums[i] <= 10^6 来源

qq_33197518的博客 209

《剑指offer》刷题系列——(五十)和为s的两个数字

题目 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 : 输入:nums = [10,26,30,31,47,60], target = 40 输出:[10,30] 或者 [30,10] 思路 两个指针start,end记录数组的头和尾的索引。 如果nums[start]+nums[end]==target,则找到了符合要求的两个数字; 如果nums[start]+nums[end]<target,由于数组是排序的,则

weixin_44776894的博客 189

《剑指Offer》Java刷题 NO.42 和为s的两个数字(有序数组、左右夹逼、多指针移动)

《剑指Offer》Java刷题 NO.42 和为s的两个数字(有序数组、左右夹逼、多指针移动) 传送门:《剑指Offer刷题总目录》 时间:2020-06-26 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 思路: 左右夹逼,双指针移动 left开头,right指向结尾,tempSum=left+right 如果tempSum小于sum,说明太小了

qq_39618369的博客 232

剑指Offer 刷题打卡 57.和为s的两个数字(简单)

剑指Offer 刷题打卡 57.和为s的两个数字(简单)

m0_57202708的博客 276

【Java】力扣 - 刷题笔记 - 剑指 Offer 57. 和为s的两个数字

剑指 Offer 57. 和为s的两个数字 描述 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[2,7] 或者 [7,2] 示例 2: 输入:nums = [10,26,30,31,47,60], target = 40 输出:[10,30] 或者 [30,10] 限制: 1 <= nums.length <= 10^5 1

z1360408752的博客 220
上一篇: 剑指Offer刷题(数组中只出现一次的数字)
下一篇: 剑指Offer刷题(数组中的重复的数字)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值