<JAVA>Two sum 最佳解法

轉自leetcode

看了一下java的最優解,感嘆真的技不如人
簡單來説就是把當前complement的數字在原來array的位數,存進新array原數字為index的位置上面,然後每次都去找complement

        int max= 2047;
        int temp;
        int[] test=new int[max+1];
        for(int i=0;i<nums.length;i++){
            temp=(target-nums[i])&max;// target為0時出現負數的情況
            if(test[temp]!=0){
                return new int[]{test[temp]-1, i};
            }
            test[nums[i]&max] =i+1;
        }
        throw new IllegalStateException("no solution");

時間是1ms

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《達爾文所未知的》解說詞 撰寫(Written):阿爾芒·馬裏耶(The Animal Mother) 翻譯(Tr...
    JENTSON阅读 5,330评论 0 1
  • 一一與旋轉屋 徐空文 (這是十幾年前創作的第一個劇本,雖然幼稚,但現在看來竟是我最喜歡的劇本之一,雖然之後曾以寫劇...
    徐空文阅读 3,624评论 0 5
  • 自然衝擊療法由丁愚仁老師發明,又稱「禪拍」,「拍打」,"自然拍打"。 丁師及其團隊總結經驗,不同的各種病症(含絕症...
    YouAreMyMusic阅读 6,833评论 0 4
  • 目标:轻松愉悦地实现财务自由,并在甘蔗和福州各拥有一套房。 1.明天送爸爸去小叔家,第二天去看病,我给了爸爸100...
    小菜_6bce阅读 721评论 0 0
  • 说过多次要戒酒,可总也戒不掉。 这次出差我是硬着头皮来的。到这儿以后客户要货没货,任务完不成,工资又不发,心里没着...
    张勇A阅读 1,261评论 0 5