LeeyCode
来源:互联网 发布:51信用卡 知乎 编辑:程序博客网 时间:2024/05/16 19:35
题目:
Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.
The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) are not zero-based.
You may assume that each input would have exactly one solution and you may not use thesame element twice.
Input: numbers={2, 7, 11, 15}, target=9
Output: index1=1, index2=2
思路与步骤:
设两个下标 head 和 tail,numbers[head] 和 numbers[tail] 相加,如果大于 target,则 tail--;如果小于,则 head++。直到相等。
编程实现:
public class Solution { public int[] twoSum(int[] numbers, int target) { int[] indices = new int[2]; int len = numbers.length; int head=0, tail=len-1; while(head<=tail){ if(numbers[head]+numbers[tail] == target){ indices[0] = head+1; indices[1] = tail+1; break; } else if(numbers[head]+numbers[tail] > target) tail--; else head++; } return indices; }}
0 0
- LeeyCode
- 作用域
- 手机信号强度流程
- 基于ROS平台的移动机器人-8-使用Kinect2导航
- vmware12环境下centOS7 的安装
- 调用百度请求 边输入边提示 jQuery UI 自动完成(Autocomplete)支持中文 超简单
- LeeyCode
- Eclipse下安装SVN插件
- MAC 安装遇到的问题及解决办法
- MVC从Controller到view进行传值的两种方法
- SAP ABAP在alv grid中使用subtotal小计数据
- POJ3617 Best Cow Line (字典序最小问题)
- 理解iOS的layout
- 万能地图下载器中如何按瓦片查找
- PHP生成word的三种方式