和为s的两个数字
Posted 樱圃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了和为s的两个数字相关的知识,希望对你有一定的参考价值。
题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。
import java.util.*; public class FindSumNumber{ public ArrayList<Integer> getSumNumber(int[] array,int sum){ if(array == null || array.length == 0 || sum <= 2) return null; int num1 = 0; int num2 = 0; int head = 0; int end = array.length-1; ArrayList<Integer> list = new ArrayList<Integer>(); while(head < end){ int temp = array[head]+array[end]; if(temp == sum){ num1 = array[head]; num2 = array[end]; break; } else if(temp<sum){ head++; }else{ end--; } } if(head < end){ list.add(num1); list.add(num2); } return list; } public static void main(String[] args){ int[] array = {1,2,4,7,11,15}; FindSumNumber f = new FindSumNumber(); ArrayList<Integer> list = f.getSumNumber(array,16); Iterator<Integer> iter = list.iterator(); while(iter.hasNext()){ System.out.println(iter.next()); } } }
以上是关于和为s的两个数字的主要内容,如果未能解决你的问题,请参考以下文章