和为S的两个数字题解
程序员文章站
2022-06-23 11:59:40
输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的
解题思路:使用双指针的方式进行处理
java
impo...
输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的
解题思路:使用双指针的方式进行处理
java
import java.util.ArrayList; public class Solution { public ArrayList FindNumbersWithSum(int[] array,int sum) { ArrayList result = new ArrayList<>(); if (array == null || array.length == 0 || sum < 0) { return result; } int left = 0; int right = array.length - 1; int target = 0; while (left < right) { target = array[left] + array[right]; if (sum == target) { result.add(array[left]); result.add(array[right]); break; } else if (target < sum) { left++; } else { right--; } } return result; } }
上一篇: 这不是咳嗽也治好了么
下一篇: Python的 元组(Tuple)详解
推荐阅读
-
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。_PHP教程
-
IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母
-
IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母
-
Excel2010为正数和零添加一个与右括号相同宽度的空格以对齐数字
-
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
-
剑指offer41:所有和为S的连续正数序列,例如,有多少种连续的正数序列的和为100
-
和为S的连续正数序列
-
LeetCode 1 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
-
57、输出和为S的连续正数序列
-
输出所有和为S的连续正数序列