【剑指offer】面试题57:和为s的两个数字(Java)
輸入一個遞增排序的數組和一個數字s,在數組中查找兩個數,使得它們的和正好是s。如果有多對數字的和等于s,則輸出任意一對即可。
?
示例 1:
輸入:nums = [2,7,11,15], target = 9
輸出:[2,7] 或者 [7,2]
示例 2:
輸入:nums = [10,26,30,31,47,60], target = 40
輸出:[10,30] 或者 [30,10]
?
限制:
1 <= nums.length <= 10^5
1 <= nums[i]?<= 10^6
代碼:
class?Solution?{
????public?int[]?twoSum(int[]?nums,?int?target)?{
????????int?left?=?0,right?=?nums.length-1;
????????int?arr[]?=?new?int[2];
????????while(left<right)
????????{
????????????if(nums[left]+nums[right]>target)
????????????{
????????????????right--;
????????????}
????????????else?if(nums[left]+nums[right]<target)
????????????{
????????????????left++;
????????????}
????????????else{
????????????????arr[0]=nums[left];
????????????????arr[1]=nums[right];
????????????????break;
????????????}
????????}
????????return?arr;
????}
}
總結
以上是生活随笔為你收集整理的【剑指offer】面试题57:和为s的两个数字(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【剑指offer】面试题61:扑克牌中的
- 下一篇: maven安装与项目创建