輸入一個遞增排序的數組和一個數字 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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 【編程題目】輸入一個已經按升序排序過的數組和一個數字,在數組中查找兩個數,使得它們的和正好是輸入的那個數字。 22、有一個已排好序的數組,要求輸入一個數字后,按原來的排序規律將它插入數組 python 輸入一個數組,輸出該數組的第二大的數字 C#設計一個簡單的Windows程序,輸入5個數字,然后排序並輸出 輸入一個數,並判斷這個數字是奇數還是偶數 在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 題目:在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 刪除數組元素 功能描述:有一個有序整數數組,要求輸入一個數字, 在數組中查找是否有這個數,如果有,將該數從數組中刪除, 要求刪除后的數組仍然保持有序; js基於另一個數組排序數組 在一個長度為n的數組里的所有數字都在0到n-1的范圍內。 數組中某些數字是重復的,但不知道有幾個數字是重復的。也不知道每個數字重復幾次。請找出數組中任意一個重復的數字。 例如,如果輸入長度為7的數組{2,3,1,0,2,5,3},那么對應的輸出是重復的數字2或者3。
 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM