【力扣(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】


基于ASP.NET+SQLServer的美妆网站的设计与实现 通过本次ASP.NET MVC美妆商城项目的开发,我们实现了一个功能完善、性能稳定的在线购物平台。该项目不仅提升了用户的购物体验,也为商家提供了一个高效的商品管理和销售渠道。未来,我们将持续优化系统功能,提升用户体验,以适应不断变化的市场需求。 阅读详情

相关推荐

SAP FICO 银企直联实战:从配置到异常处理的全流程解析

本文详细解析了SAP FICO银企直联的实战配置与异常处理全流程,涵盖银行主数据搭建、支付类配置、银行接口适配等关键步骤。通过实际案例分享,帮助用户掌握实时付款、余额监控和自动对账等核心功能,提升企业财务效率与安全性。特别针对常见问题如凭证重复付款、前置机UUID冲突等提供了实用解决方案。

weixin_29215815的博客 664

力扣-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

【Vite+Vue3+TS】基于Vite+Vue3+TypeScript+ESLint+Prettier+Stylelint搭建项目(亲测超详细)

结合了很多项目和文章,总结一篇项目构建的笔记。 温馨提示:文章末尾记录了我在搭建项目过程中,遇到的一些问题和解决办法 ~

aDiaoYa_的博客 4231

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

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

一起加油 2053

Windows下快速搭建Kettle开发环境:基于9.4.0.0版本的保姆级教程

本文提供Windows系统下Kettle 9.4.0.0开发环境的详细搭建指南,涵盖源码获取、Maven配置优化、高效编译及部署运行全流程。通过实战验证的步骤和常见问题解决方案,帮助数据工程师快速完成环境配置,提升ETL开发效率。

weixin_28829479的博客 332

避坑指南:Python模拟抖音扫码登录时,那些你可能会遇到的‘Referer’和‘Token’校验问题

本文深入解析Python模拟抖音扫码登录时常见的Referer校验与Token失效问题,提供五大陷阱的解决方案。从动态fp参数生成到Referer校验策略,再到Token生命周期管理,手把手教你破解抖音登录接口的反爬机制,助力开发者高效完成自动化登录。

weixin_42573113的博客 783

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

Unity Shader变体优化实战:从内存削减到打包加速

本文深入探讨了Unity项目中Shader变体数量爆炸导致的打包缓慢、内存占用过高及包体臃肿等问题。核心解决方案是通过精准的Shader变体裁剪,即收集项目实际用到的变体形成“白名单”,并利用IPreprocessShaders接口在打包时剔除无用变体。实战表明,该方法能显著提升打包速度并大幅降低运行时内存。

weixin_29300241的博客 217

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

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

weixin_39904809的博客 185

C#实战YOLO26物体检测:从ONNX模型转换到工业级部署全复盘

本文介绍了在C#上位机中集成YOLO26模型实现工业产线零件检测的实战方案。针对工业场景对实时性(单帧推理≤100ms)、轻量化和易部署的需求,选择YOLO26模型相比YOLOv8在推理速度提升30%且模型体积更小。文章详细拆解了从模型转换(PyTorch转ONNX)、C#推理引擎封装到部署优化的全流程,重点解决了ONNX兼容性、坐标偏移、GPU降级等工业落地中的典型问题。通过解耦设计、性能优化和异常处理机制,最终在工控机(i5-8500+GTX1650)上实现60ms的单帧推理速度,为工业检测项目提供了可

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1325

ethernet eth0: Could not attach to PHY

整个流程看下来就是MAC connect PHY的过程失败了,失败的具体原因根据config_init,上图(bcm54xx_config_init) ,从此方向入手去定位原因;我这里的问题是has_gmac4没有置1,根据 has_gmac4: uses GMAC4 core.按照上面的调用逻辑,添加了部分打印,定位到__phy_read接口返回失败。stmmac_mdio_read 大部分都是linux的标准接口。最终取决于平台用的是哪家的phy,调用config_init。

无线互联&网络介绍 2703

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

白皮精读:70页 2025 基于数据空间的金融数据可信流通研究报告【附全文阅读】

金融数据可信流通面临法规、技术与商业模式的挑战。报告分析国内外发展现状,提出基于数据空间的可信流通框架,包含典型场景、技术方案与流通模式。实践案例显示,隐私计算、区块链等技术可提升风控效率与合规性。建议完善数据分类分级、统一技术标准并推动行业试点,以释放数据要素价值,促进数字经济发展。

cdfunlove的博客 850

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

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

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

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

just show me your code 717

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

清崎教练 287

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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、付费专栏及课程。

余额充值