题解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-输入有序数组相关推荐

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

    167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1和 index2,其中 index1必须小 ...

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

    167. 两数之和 II - 输入有序数组 给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target . 函数应该以长度为 2 的整数数 ...

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

    167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必 ...

  4. 两数之和 II - 输入有序数组(Java实现)

    两数之和 II - 输入有序数组 题目 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小 ...

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

    两数之和 II - 输入有序数组 给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target . 函数应该以长度为 2 的整数数组的形式返回这两 ...

  6. c++两个数组对比去掉重复的元素_LeetCode 题解 | 167.两数之和 II 输入有序数组...

    点击上方蓝字设为星标 下面开始今天的学习- 力扣 167.两数之和 II - 输入有序数组(点击文末阅读原文查看题目)题目描述 给定一个已按照 升序排列 的有序数组,找到两个数使得它们相加之和等于目标 ...

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

    leetcode167. 两数之和 II - 输入有序数组 题目描述 链接: leetcode167. 给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目 ...

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

    C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在 ...

  9. 167. Two Sum II - Input array is sorted 两数之和 II - 输入有序数组

    Title 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明: ...

最新文章

  1. 2020-12-16(虚析构函数,神逻辑代码)
  2. spring boot日志框架体系剖析(默认采用logback作为日志框架)
  3. 【leetcode】27.RemoveElement
  4. 有哪些足不出户,能用十天掌握的新技能?
  5. oracle查询大小写敏感参数,让Oracle 大小写敏感 表名 字段名 对像名
  6. stixel提升思路总结
  7. MyBatis从入门到精通:update用法、delete用法
  8. C++之继承探究(三):继承的方式
  9. pythondocx更新目录_python根目录
  10. 使用ISA Server 2006发布Exchange Server 2007安全的Web、安全的OWA和Outlook Anyw
  11. DBCA静默建库中的两个小问题
  12. 初探Object Pascal的类(十一)
  13. 微信小程序 公证号 根据code获取openid
  14. 棋牌麻将 - 基础名词讲解与汇总
  15. IT 相关常见英文缩写一览
  16. 我的2013----默默的积累
  17. 苏东坡有一句“八风吹不动,独坐紫金台“ 人生智慧
  18. 体育竞技游戏的团队AI
  19. 利用matplotlib为论文画图(一)
  20. 发改委:以稳汽车消费来托住商品消费“大头”

热门文章

  1. CUDA入门需要知道的东西
  2. 39页第7题 计算2的i次方之和
  3. 实现锁死的有滚动条的div的表格(datagird)
  4. 智力面试题汇总,有意思!
  5. java正则 链接_Java正则表达式获取网址和链接文字解析
  6. windowbuilder点击按钮出现新界面_MIUI 10 负一屏,新界面新体验
  7. ubuntu:无法将“ubuntu1804.exe”项识别为cmdlet、函数、脚本文件或可运行程序的名称。【已解决】
  8. 映射递归循环-约瑟夫环问题递归解法的一点理解
  9. 神经网络 | 受限波尔兹曼机(附源代码)
  10. C语言 | C51实现MAX485通信(完整源代码)