给定一个已经按升序排列的数组,找到两个数使他们加起来的和等于特定数。
函数应该返回这两个数的下标,index1必须小于index2。注意返回的值不是 0-based。

注意事项

你可以假设每个输入刚好只有一个答案

样例

给定数组为 [2,7,11,15] ,target = 9
返回 [1,2]

如果这个数组是乱序,可以考虑套两层循环暴力解
但是关键点就在于这个数组是升序,那么就可以从两头往内缩着搜索
 1 vector<int> twoSum(vector<int> &nums, int target) {
 2         // write your code here
 3         vector<int> result;
 4         int low=0;
 5         int high=nums.size()-1;
 6         while(low<high){
 7             if(nums[low]+nums[high]>target){
 8                 high--;
 9             }
10             else if(nums[low]+nums[high]<target){
11                 low++;
12             }
13             else{
14                 result.push_back(low+1);
15                 result.push_back(high+1);
16                 return result;
17             }
18         }
19     }

转载于:https://www.cnblogs.com/TheLaughingMan/p/8063560.html

608. 两数和-输入已排序的数组相关推荐

  1. 两数之和:找出给定数组中和是给定目标整数的两个整数,输出找到的两个整数下标

    找出给定数组中和是给定目标整数的两个整数,输出找到的两个整数下标. (本文获得CSDN质量评分[90]) [学习的细节是欢悦的历程] Python 官网:https://www.python.org/ ...

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

    双指针+了一点小小小的优化: class Solution {public int[] twoSum(int[] numbers, int target) {int left=0;int right= ...

  3. Leetcode每日一题:167.two-sum-ii-input-array-is-sorted(两数之和Ⅱ-输入有序数组)

    解题思路:双指针 l 和 r,分别指向头和尾,对于这个有序数组,如果number[l] + number[r] 比 target大,那么说明选择的r对应元素偏大,将指针 r 左移:如果小于target ...

  4. 两数之和Ⅳ - 输入 BST

    双指针 public boolean findTarget(TreeNode root, int target) {if (root == null) return false;List<Int ...

  5. java 两个数组交叉_java – 如何交叉两个没有重复的排序整数数组?

    这个问题本质上减少到一个连接操作,然后是一个过滤器操作(删除重复,只保留内部匹配). 由于输入都已经排序,所以可以通过O(O(size(a)size(b))的merge join来有效地实现连接. 过 ...

  6. [Leetcode] Remove duplicates from sorted array ii 从已排序的数组中删除重复元素

    Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For examp ...

  7. 嵌入式 ARM 汇编编程例题(二维数组按规律求和,求两数 gcd / lcm,求数组 min / max,字符串复制,排序)

    文章目录 0x00. 整数加减乘除 0x01. 一维数组按某种规律求和 0x01.1 求 1~100 之和 0x01.2. 求一维数组的和 0x01.2. 求一维数组的所有奇数的和 0x02. 二维数 ...

  8. leetcode算法—两数之和 Two Sum

    关注微信公众号:CodingTechWork,一起学习进步. 题目 Two Sum: Given an array of integers, return indices of the two num ...

  9. 我理解的算法 - 三数之和及两数、三数之和扩展题

    我理解的算法 - 三数之和及两数.三数之和扩展题 LeetCode 15.三数之和 扩展 三数之和变种题 两数之和变种题 LeetCode 15.三数之和 这道题的题目大家自行查看:链接在这 ,题目和 ...

最新文章

  1. 后台获取视图对应的字符串
  2. ASP.Net MVC框架配置分析详解
  3. ajax操作的链式写法
  4. c语言运行时更入下一行,C语言高级语言程序设计(一)_第二章 C程序设计基础(二).ppt...
  5. 微信小程序知识点GET
  6. python图层合并_Ps算法Python实现:图层混合模式-色相
  7. 如何使用Emacs Org模式和Reveal.js创建幻灯片
  8. Hadoop sqoop
  9. 【javajni】jni入门篇
  10. Asp.net mvc中Controller的返回值
  11. python画简单图-使用Python中的Turtle库绘制简单的图形
  12. MySQL多线程备份工具mydumper
  13. python 粘包问题
  14. [MetalKit]45-Using eGPUs with Metal 在 eGPU上使用 Metal
  15. 关于zip包解压之后文件打开出现文件损坏的问题
  16. 我是一个*** (九)
  17. Uncaught ReferenceError: regeneratorRuntime is not defined 解决方法
  18. iPhone14和14pro的区别
  19. FLOPS、TOPS和FLOPs的区别
  20. 前端身份证号码校验js代码

热门文章

  1. windows安装python
  2. python中 n是换几行_如何在Python中用`\ n`替换通用换行符?
  3. python3.5安装教程及环境配置_Windows7环境下Python2.7与Python3.5共存安装
  4. 鸿蒙os2.0官网公测报名,鸿蒙OS2.0公测版测试资格报名-鸿蒙OS2.0公测版测试资格报名官网地址预约 -友情手机站...
  5. linux 清除mysql relay_MySQL 小版本升级
  6. 为什么爬虫都用python_python为什么叫网络爬虫
  7. python列表所有元素平均值_【全网最简单Python教程】--10.列表元素的索引和返回索引值(Index函数使用)...
  8. 数据窗口 label_Python实现数据可视化,让你的数据清晰起来!
  9. mysql教程日志_MySQL日志
  10. solidworks工程图模板与图纸格式的区别_教你DWG如何导入为图纸格式