public class FindNumWithSum { //输入一个递增的数组和一个数字s,找出数组中任意两个数使他们的和正好是这个数字s, //如果有任意多对数字的和为s,输出任意一堆数字即可, //例如,输入数组[1,2,4,7,11,15]和数字15,输出4和11 public static void main(String[] args) { int[] arr={1,2,4,7,11,15}; int s=18; findNumberWithSum(arr, s); } public static void findNumberWithSum(int[] a,int s){ int start=0; int end=a.length-1; int num1=0; int num2=0; while(start<end){ int sum=a[start]+a[end]; if(sum==s){ num1=a[start]; num2=a[end]; break; }else if(sum>s){ end--; }else start++; } System.out.println(num1); System.out.println(num2); } } |
输入一个递增的数组和一个数字s,找出数组中任意两个数使他们的和正好是这个数字s,如果有任意多对数字的和为s,输出任意一堆数字即可,例如,输入数组[1,2,4,7,11,15]和数字
最新推荐文章于 2020-10-26 22:23:40 发布