從 n 個(gè)數(shù)中取出兩個(gè)數(shù), 使其和為 a

采用窮舉法的話(huà), 其時(shí)間復(fù)雜度為 O((n^2)/2). 略去窮舉法的實(shí)現(xiàn).

采用如下實(shí)現(xiàn), 其時(shí)間復(fù)雜度為 O(n), 空間復(fù)雜度增至 O(n).

public class Test {

    public static void main(String[] args) {
        int[] numberArr = {3, 5, 0, 35, 3, 25, 6, 3, 7, 6};
        int sum = 13;
        int[] result = find(numberArr, sum);
        System.out.println("滿(mǎn)足條件的兩個(gè)數(shù)的索引為: " + Arrays.toString(result));
    }

    public static int[] find(int[] numberArr, int sum) {
        Map<Integer, Integer> temp = new HashMap<>();

        for (int i = 0; i < numberArr.length; i++) {
            int number = numberArr[i];
            int target = sum - number;
            Integer targetIdx = temp.get(target);

            if (targetIdx != null) {
                return new int[]{targetIdx, i};
            } else {
                temp.put(number, i);
            }
        }

        return null;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 圖文/蘭妮.逞 我家小子10歲了,又黑又瘦卻愛(ài)笑。自行車(chē)滑板輪滑樣樣愛(ài),在家只把電視開(kāi),就是不把書(shū)來(lái)看。 10歲的...
    lannychen閱讀 916評(píng)論 11 13
  • 閱讀一遍規(guī)畫(huà):已讀; 一句愛(ài)的表達(dá):對(duì)花花草草說(shuō)我愛(ài)你;對(duì)女兒說(shuō)我愛(ài)你 一次自我確認(rèn):我本自圓滿(mǎn),我是無(wú)限,我是豐...
    李艷萍的花園閱讀 409評(píng)論 0 0
  • IoTeX Testnet Preview(StoneVan)發(fā)布 IoTex的第一個(gè)代碼版本:StoneVan。...
    zengkai315閱讀 377評(píng)論 0 0

友情鏈接更多精彩內(nèi)容