遞增數(shù)組中和為s的兩個數(shù)字

思路:
創(chuàng)建兩個指針,初始位置分別指向數(shù)組的頭部和尾部,把對應位置的數(shù)字求和,比較和s的大小,如果相等,即為所求,如果大于s,則把尾指針向前移動,如果小于s,則把頭指針向前移,知道找到和為s的兩個數(shù)字的數(shù)字為止。

public class Solution {
    public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
        ArrayList<Integer> list=new ArrayList<>();
        if(array==null||array.length<2)
             return list;
        int head=0;
        int tail=array.length-1;
        while(head<tail){
            int s=array[head]+array[tail];
            if(sum==s){
                 list.add(array[head]);
                 list.add(array[tail]);
                break;
            }else if(s>sum){
                tail--;
            }else
                head++;
        }
            
         return list;
        
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型。 運用指針編程是C語言最主要的風格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,474評論 3 44
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,906評論 0 38
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,774評論 0 33
  • 初夏的夜,波濤洶涌的月光漫過窗欞把我淹沒,無助掙扎茍延殘喘的恍惚間,自己那曾經(jīng)的激情燃燒歲月電影般在眼前回放。...
    天涯孤旅背包客閱讀 403評論 2 4
  • 近期看別人的文章,有很多感悟,覺得不吐不快,所以信馬由韁寫的,全是大實話,請不喜歡的朋友不要拍磚哈。 有...
    大小豆芽菜閱讀 310評論 0 0