zoukankan      html  css  js  c++  java
  • 输入一个递增排序的数组和一个数字 s

    题目:

    输入一个递增排序的数组和一个数字 s。

    在数组中查找两个数,使得它们的和正好是 s。

    如果有多对数字的和等于 s,输出任意一对即可。

    解答:

     1 public class Solution {
     2 
     3     public static void main(String[] args) {
     4         int[] data = {1,2,4,7,11,15};
     5         System.out.println(findNumberWithSum(data, 15));
     6     }
     7 
     8     private static boolean findNumberWithSum(int[] data, int sum) {
     9         boolean found = false;
    10         if(data == null) {
    11             return found;
    12         }
    13 
    14         int num1 = 0;
    15         int num2 = 0;
    16 
    17         int start = 0;
    18         int end = data.length-1;
    19         while(start < end) {
    20             int curSum = data[start] + data[end];
    21             if(curSum == sum) {
    22                 num1 = data[start];
    23                 num2 = data[end];
    24                 found = true;
    25                 break;
    26             } else if(curSum > sum) {
    27                 end--;
    28             } else {
    29                 start++;
    30             }
    31         }
    32 
    33         System.out.println(num1);
    34         System.out.println(num2);
    35 
    36         return found;
    37     }
    38 }

  • 相关阅读:
    路由器的配置
    逻辑卷
    valn配置
    交换分区和虚拟内存
    TCP和UDP
    语法练习1
    oracl通用函数
    AOP
    oracle查询操作
    Oracle中的转换函数
  • 原文地址:https://www.cnblogs.com/wylwyl/p/10384522.html
Copyright © 2011-2022 走看看