LeetCode_每日一题今日份_167.两数之和II-输入有序数组
题解C_1
int* twoSum(int* numbers, int numbersSize, int target, int* returnSize){int i, j, flg = 0;for (i = 0; i < numbersSize - 1; i++){for (j = i + 1; j < numbersSize; j++){if (numbers[i] + numbers[j] == target){flg = 1;break;}}if (flg || numbers[i] > target)break;}*returnSize = 2;int *res = (int*)malloc(sizeof(int) * 2);res[0] = i + 1;res[1] = j + 1;return res;
}
题解C_2
/*** Note: The returned array must be malloced, assume caller calls free().*/
/*
在数组中找到两个数,使得它们的和等于目标值,可以首先固定第一个数,然后寻找第二个数,第二个数等于目标值减去第一个数的差。利用数组的有序性质,可以通过二分查找的方法寻找第二个数。为了避免重复寻找,在寻找第二个数时,只在第一个数的右侧寻找。
*/
int* twoSum(int* numbers, int numbersSize, int target, int* returnSize) {int* ret = (int*)malloc(sizeof(int) * 2);*returnSize = 2;for (int i = 0; i < numbersSize; ++i) { //遍历数组int low = i + 1, high = numbersSize - 1;while (low <= high) {int mid = (high - low) / 2 + low;if (numbers[mid] == target - numbers[i]) {ret[0] = i + 1, ret[1] = mid + 1;return ret;} else if (numbers[mid] > target - numbers[i]) {high = mid - 1;} else {low = mid + 1;}}}ret[0] = -1, ret[1] = -1;return ret;
}
模拟运行演示
LeetCode_每日一题今日份_167.两数之和II-输入有序数组相关推荐
- leetcode 两数相加c++_167. 两数之和 II - 输入有序数组
167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1和 index2,其中 index1必须小 ...
- 力扣 167. 两数之和 II - 输入有序数组
167. 两数之和 II - 输入有序数组 给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target . 函数应该以长度为 2 的整数数 ...
- 167. 两数之和 II - 输入有序数组
167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必 ...
- 两数之和 II - 输入有序数组(Java实现)
两数之和 II - 输入有序数组 题目 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小 ...
- leetcode(167)两数之和 II - 输入有序数组
两数之和 II - 输入有序数组 给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target . 函数应该以长度为 2 的整数数组的形式返回这两 ...
- c++两个数组对比去掉重复的元素_LeetCode 题解 | 167.两数之和 II 输入有序数组...
点击上方蓝字设为星标 下面开始今天的学习- 力扣 167.两数之和 II - 输入有序数组(点击文末阅读原文查看题目)题目描述 给定一个已按照 升序排列 的有序数组,找到两个数使得它们相加之和等于目标 ...
- leetcode167. 两数之和 II - 输入有序数组
leetcode167. 两数之和 II - 输入有序数组 题目描述 链接: leetcode167. 给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目 ...
- C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组
C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在 ...
- 167. Two Sum II - Input array is sorted 两数之和 II - 输入有序数组
Title 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明: ...
最新文章
- 2020-12-16(虚析构函数,神逻辑代码)
- spring boot日志框架体系剖析(默认采用logback作为日志框架)
- 【leetcode】27.RemoveElement
- 有哪些足不出户,能用十天掌握的新技能?
- oracle查询大小写敏感参数,让Oracle 大小写敏感 表名 字段名 对像名
- stixel提升思路总结
- MyBatis从入门到精通:update用法、delete用法
- C++之继承探究(三):继承的方式
- pythondocx更新目录_python根目录
- 使用ISA Server 2006发布Exchange Server 2007安全的Web、安全的OWA和Outlook Anyw
- DBCA静默建库中的两个小问题
- 初探Object Pascal的类(十一)
- 微信小程序 公证号 根据code获取openid
- 棋牌麻将 - 基础名词讲解与汇总
- IT 相关常见英文缩写一览
- 我的2013----默默的积累
- 苏东坡有一句“八风吹不动,独坐紫金台“ 人生智慧
- 体育竞技游戏的团队AI
- 利用matplotlib为论文画图(一)
- 发改委:以稳汽车消费来托住商品消费“大头”
热门文章
- CUDA入门需要知道的东西
- 39页第7题 计算2的i次方之和
- 实现锁死的有滚动条的div的表格(datagird)
- 智力面试题汇总,有意思!
- java正则 链接_Java正则表达式获取网址和链接文字解析
- windowbuilder点击按钮出现新界面_MIUI 10 负一屏,新界面新体验
- ubuntu:无法将“ubuntu1804.exe”项识别为cmdlet、函数、脚本文件或可运行程序的名称。【已解决】
- 映射递归循环-约瑟夫环问题递归解法的一点理解
- 神经网络 | 受限波尔兹曼机(附源代码)
- C语言 | C51实现MAX485通信(完整源代码)