• 和为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());
            }
        }
    }
  • 相关阅读:
    做汉堡
    作业三 读《构建之法》
    一个程序员的生命周期--有感
    阅读《构建之法》第13-17章
    阅读<构建之法>10、11、12章
    阅读《构建之法》第8,9,10章
    测试与封装5.2-5.3
    作业5 四则运算 测试与封装 5.1
    阅读5-7章
    做汉堡
  • 原文地址:https://www.cnblogs.com/yingpu/p/9256546.html
Copyright © 2020-2023  润新知