【力扣(LeetCode)】【C/C++】【167.两数之和 II - 输入有序数组】

在做力扣(LeetCode)第一题——两数之和时碰到的问题与解决办法 1.在力扣(LeetCode)给出的代码段中,是使用 Python中的 class类来呈现代码的,在对类的理解中我出现了疑惑,记得在大二学习java的时候每次定义一个类都会有与类名相同的初始化函数,为什么在题目中Python没有给出? 答:Python中类的初始化方法是'__init__()',(注意init左右两边分别是两个下划线),'__init__()'可以实现对所创建类的初始化,同时在创建对象的时候对其相关属性进行封装,如果更改为其它名字,那在封装的过程中就需要执行所修改名字的初始化方法。所以当别 阅读详情

学习时间:

        2023年3月8日


题目描述:


 题解分享:

// 作     者 : 繁 华 倾 夏
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>                                             // 调用malloc函数

// 力扣(LeetCode):167. 两数之和 II - 输入有序数组

// numbers:数组 numbersSize:数组长度 target:目标值 returnSize:返回的数组长度
int* twoSum(int* numbers, int numbersSize, int target, int* returnSize) {
    int* re = (int*)malloc(sizeof(int) * 2);                    // 设置动态数组空间
    *returnSize = 2;                                            // 动态数组的长度为2
    for (int i = 0; i < numbersSize; i++) {                     // 遍历numbersSize数组
        int low = i + 1, high = numbersSize - 1, mid;           // 进行二分查找
        while (low <= high) {
            int mid = (low + high) / 2;
            if (numbers[mid] == target - numbers[i]) {
                re[0] = i + 1; re[1] = mid + 1;
                return re;
            }
            else if (numbers[mid] > target - numbers[i]) {
                high = mid - 1;
            }
            else {
                low = mid + 1;
            }
        }
    }

    re[0] = -1; re[1] = -1;
    return re;
}


// 测试用例
// 输入 numbers = [2, 7, 11, 15], target = 9
// 输出 [1, 2]
int main() {
    int numbers[] = { 2,7,11,15 };
    int numbersSize = sizeof(numbers) / sizeof(numbers[0]);
    int target = 9;
    int returnSize;
    int nums[2];
    int* re = nums;
    re = twoSum(numbers, numbersSize, target, &returnSize);
    for (int i = 0; i < returnSize; i++) {
        printf("%d ", re[i]);
    }
    return 0;
}

【繁华倾夏】【每日力扣题解分享】【Day53】


告别regsvr32!易语言调用大漠插件dm.dll的免注册实战(附Win7/10/11避坑指南) 本文详细介绍了易语言如何免注册调用大漠插件dm.dll的实战方法,通过`dmreg.dll`实现真正的免注册调用,规避了传统`regsvr32`注册方式带来的权限和兼容性问题。文章包含核心原理剖析、易语言实现细节、多系统兼容性方案及高级应用场景,帮助开发者实现绿色化部署,提升自动化脚本开发效率。 阅读详情

相关推荐

AB脉冲详解(编码器,PLC,上位机)

编码器线有些是用不到的。Z脉冲:360度中,只有1度是输出,输出能力是。编码器实际就是发光二极管,所以电流超过20ma会缩短寿命或损坏。

cfqq1989的博客 1万+

力扣-167题 两数之和 II - 输入有序数组(C++)- 双指针

题目链接:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/ 题目如下: class Solution { public: vector<int> twoSum(vector<int>& numbers, int target) { int low=0,high=numbers.size()-1; while(low<=high){

qq_40467670的博客 965

《C语言小游戏之贪吃蛇程序代码》

//为广大编程游戏爱好者提供一个参考的游戏源代码#include&lt;stdio.h&gt;#include&lt;conio.h&gt;#include&lt;windows.h&gt;#include&lt;time.h&gt;#define framex 5#define framey 5#define wide 20#define high 20int i,j,a[2];//将光标移动到...

qq_42052821的博客 2万+

C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组

C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组   大家好,我叫亓官劼(qí guān jié ),在优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在优快云中写博客,唯一博客更新的地址为:亓官劼的博客 本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 题目 给定一个已按照*升序排列* 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于

一起加油 2053

kaggle注册以及数据集下载全流程

kaggle注册,数据集下载及常见问题

Arriteey的博客 2万+

ThunderScope开源示波器

4CH,1GSa/S 开源示波器。前端很简洁,BUF802+LMH6518,ADC是HMCAD1511,用Xilinx A7 FPGA进行控制,数据通过PCIE总线传输到上位机处理。目前这个项目已经被挂到了Xilinx官网,强。设计日志:https://hackaday.io/project/180090-thunderscope开源地址:https://github.com/EEVengers/ThunderScope。

leida_wt的博客 8193

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

class Solution { public: vector<int> twoSum(vector<int>& numbers, int target) { // 定义左右临界值 int l=0,r=numbers.size()-1; int sum; while(l<r) { sum=numbers[l]+numbers[r];

流楚丶格念的博客 4300

2015年全国大学生电子设计大赛综合测评题

2015年全国大学生电子设计大赛综合测评题 题目如下: 一、555产生可调方波 555定时器是一种集成电路芯片,常被用于定时器、脉冲产生器和振荡电路。555可被作为电路中的延时器件、触发器或起振元件。 555定时器可组成单稳态电路、多稳态电路和无稳态电路。产生方波其实就是制造一个无稳态电路。 555定时器的引脚功能: 其中: DIS引脚与OUT脚电平一致 TRIG: 当此引脚电压降至1/3VCC(或由控制端决定的阈值电压)时输出端给出高电平。 THR:当此引脚电压升至2/3VCC(或由控制端决定的阈值电压

m0_47066484的博客 3万+

leetcode 两数相加c++_167. 两数之和 II - 输入有序数组

167. 两数之和 II - 输入有序数组给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1和 index2,其中 index1必须小于 index2。说明:返回的下标值(index1和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例1 :输入: numbers = [2, 7, ...

weixin_39904809的博客 185

Android图形系统(三)系统篇:渲染/合成的底层原理浅析

众所周知,渲染工作是由GPU负责,那么在聊GPU之前首先得知道什么是“渲染”?我们来举个例子感受一下在系统中申请一块10*101、把图层背景这玩意染成绿的2、从左上(0,0)到右下(10,10)画一条宽度为1颜色为红色的直线3、以坐标点(5,5)为中心,画一个半径为3的实心圆,颜色要蓝色好了,接下来操作系统会把这些“绘图指令”同步给GPU去执行渲染任务图片来源:自己画的GPU完成渲染工作后,我们将会得到一个大小为10*10二维数组,数组中的每个元素都保存着坐标点的颜色信息、深度信息。

1358

Android开发工程师(IOT)面试指南与参考答案

【摘要】绿联科技招聘Android开发工程师(IOT方向),要求5年以上Android开发经验,精通Kotlin/Java,熟悉IOT设备交互及跨平台开发。岗位职责包括客户端开发维护、技术调研及性能优化等。核心考察点包括:Kotlin协程在IOT低功耗场景的应用、多协议设备连接层设计、音视频性能优化及离线架构实现。重点技术涉及蓝牙Mesh群控、BLE功耗优化及ReactNative混合开发。需具备GooglePlay合规经验,熟悉Android13+权限管理,并能提供量化性能优化案例。

郑伟强dev的专栏 723

Leetcode刷题61-167. 两数之和 II - 输入有序数组(C++详细解法!!!)

题目来源:链接: [https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/] 167. 两数之和 II - 输入有序数组1.问题描述2.我的解决方案3.大神们的解决方案4.我的收获 1.问题描述 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 ind...

qq_40858438的博客 365

HandwrittenMathFormulaRecognition:基于YOLOv8的手写数学公式识别系统

输入:包含手写数学公式的图像(拍摄的板书、作业纸等)输出:对应的数字文本形式的数学公式(如LaTeX格式或文本表达式)标准的手写数学表达式数据集,包含在线轨迹及图片,广泛用于公式识别研究。包含近10万对公式图片及对应的LaTeX标注,适合训练公式识别模型。MathBrush公开手写数学公式图像数据集,含多种书写风格。手写数字与符号数据集(MNIST及其扩展)用于基础数学符号的训练。

YOLO 283

LeetCode第 167 题:两数之和 II - 输入有序数组(C++)

167. 两数之和 II - 输入有序数组 - 力扣(LeetCode) 一开始是有点懵逼,因为这不和第一题没啥区别吗? class Solution { public: vector<int> twoSum(vector<int>& numbers, int target) { unordered_map<int, int> map; for(int i = 0; i < numbers.size(); ++i){

zj 224

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Leetcode 167. 两数之和 C++实现

是因为要留出右面两个指针的位置。因为规定答案中不可以包含重复的三元组,所以要跳过 i 的重复数字。,该数组已按非递减顺序排列,请你从数组中找出满足相加之和等于目标数。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。由于提供的数组为递增数组,使用双指针策略,左指针。你所设计的解决方案必须只使用常量级的额外空间。指针所指的这个数加上它右面相邻的两个数仍。注意:答案中不可以包含重复的三元组。,则右指针左移,反之左指针右移。的形式返回这两个整数的下标。中最大的两个数的两个数仍。

just show me your code 717

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

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

“从0开始做LeetCode”之第四题   tag:双指针 难度:easy 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, 7, 11, 15], target = 9 输出: [1,2] 解释

清崎教练 287

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

leetcode | 167题 | 两数之和 II - 输入有序数组

给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, 7, 11, 15], target = 9 输出: [1,2] 解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, inde

李昊的博客 160

Leetcode(力扣)题解--C++实现(一)

Leetcode(力扣)题解–C++实现(一) 文章目录Leetcode(力扣)题解--C++实现(一)题目 1 [平方数之和](https://leetcode-cn.com/problems/sum-of-square-numbers/)题目 2 [两数之和 II - 输入有序数组](https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/)题目 3 [反转字符串中的元音字母](https://leetcode-cn.com/p

qq_43419412的博客 2712

leetcode-167 | 两个数之和II-输入有序数组

title: leetcode-167 | 两个数之和II-输入有序数组 date: 2019-4-24 10:12:03 comments: true categories: “leetcode” tags: - leetcode 简单难度 167. 两数之和 II - 输入有序数组( Two Sum II - Input array is sorted) 给定一个已按照升序排列 的有序数组,...

梦否 400

leetCode 167.两数之和 || - 输入有序数组 双指针解法

因此 index1 = 1, index2 = 2。返回 [1, 2]。因此 index1 = 1, index2 = 2。因此 index1 = 1, index2 = 3。那这样我就花费O(1)的时间,就知道了O(n)的信息。那这就是为什么能够从O(n^2)优化到O(n)。那它花费O(1)的时间就知道了O(1)的信息,因此,这个算法的时间复杂度是O(n)。这相比原来的暴力做法O(n)就是一个巨大的优化。这里的2+8=10>9,且由于是有序数组,这里的2+6=8<9,且由于是有序数组,

呵呵哒!的博客 518

力扣(leetcode)题目总结——哈希表篇

本系列文章初衷是为了按类别整理出力扣(leetcode)最经典题目,一共100多道题,每道题都给出了非常详细的解题思路、算法步骤、代码实现。因为力扣题目顺序是随机的,并没有按照算法分类,导致同一类型的算法强化训练不够。所以本系列文章就是来帮你完成算法分类,针对每种算法做强化训练,保证让你以后遇到题目直接秒杀。本篇文章主要是针对哈希表相关的算法题,一次性帮你搞定所有哈希表题!

weixin_46571171的博客 1922

167. 两数之和 II - 输入有序数组-LeetCode(C++)

使用双指针的实质是缩小查找范围。那么会不会把可能的解过滤掉?要求空间复杂度为常量级,没法用哈希表,不然跟532类似,直接秒了。,请你从数组中找出满足相加之和等于目标数。但是题目中给出的数组是有序的,并且每个输入。除非初始时左指针和右指针已经位于下标。如果设这两个数分别是。的形式返回这两个整数的下标。初始时两个指针分别指向下标。,左指针指向的下标小于或等于。,右指针指向的下标大于或等于。,否则一定是左指针先到达下标。的位置或者右指针先到达下标。以长度为 2 的整数数组。重复使用相同的元素。

woshihlf的博客 441

力扣刷题之旅——1.两数之和

接触到力扣的第一题就跪了?我们应该这么分析。

C语言入门 2143

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

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

Do Better 278

力扣 167.两数之和 II - 输入有序数组(c语言双指针)

题目介绍:给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1

m0_68142870的博客 563

leetcode-167. 两数之和 II - 输入有序数组

167. 两数之和 II - 输入有序数组 题目 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, 7, 11, 15], target = 9 输出: [1,2] 解释: 2 与 7 之和等于

sinat_41679123的博客 257
上一篇: 【力扣(LeetCode)】【C/C++】【2.两数相加】
下一篇: 【力扣(LeetCode)】【C/C++】【1929.数组串联】
繁华倾夏
博客等级 码龄4年 4粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值