1. 兩數(shù)之和

一主到、題目梗概

給定一個整數(shù)數(shù)組 nums 和一個整數(shù)目標值 target,請你在該數(shù)組中找出 和為目標值 target 的那 兩個 整數(shù)躯概,并返回它們的數(shù)組下標登钥。
你可以假設每種輸入只會對應一個答案。但是娶靡,數(shù)組中同一個元素在答案里不能重復出現(xiàn)牧牢。
你可以按任意順序返回答案。

示例 1:
輸入:nums = [2,7,11,15], target = 9
輸出:[0,1]
解釋:因為 nums[0] + nums[1] == 9 ,返回 [0, 1] 塔鳍。

題目來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/two-sum

二伯铣、解答:

方案一:循環(huán)遍歷,逐個嘗試,時間復雜度為O(n^2)

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int a=0;
        int b=0;
        for(int i=0;i<nums.length;i++){
            for(int j=i+1;j<nums.length;j++){
                if(target==nums[i]+nums[j]){
                    a=i;b=j;
                    break;
                }
            }
        }
        int[] result={a,b};
        return result;
    }
}

方案二:利用哈希表尋找另一個數(shù),時間復雜度為O(n)

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int a=0;
        int b=0;
        HashMap<Integer,Integer> map=new HashMap<Integer, Integer>();
        for(int i=0;i<nums.length;i++){
            //注意要在判斷存在之后再放值,不然nums[a]等于nums[b]時,map中存入的下標值會被覆蓋
            //題目要求nums[a]+nums[b]=target
            //此時假定nums[a]為nums[i],
            //所以另一個要求的map應該是{target-nums[i]:b}
            if(map.containsKey(target-nums[i])){
                //如果存在此map,則進行尋找對應的下標ab
                a = i;
                b = map.get(target-nums[i]);
                //因為是先放值,后找存在,所以a>b
                return new int[]{b,a};
            }
            //按順序放入當前的第i個元素,{nums[i]:i}
            //即map中的k-v關系應為{數(shù)組中第i個元素的值:第i個元素的下標}
            map.put(nums[i],i);

        }
        return new int[]{a,b};
    }
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末轮纫,一起剝皮案震驚了整個濱河市腔寡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蜡感,老刑警劉巖蹬蚁,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恃泪,死亡現(xiàn)場離奇詭異郑兴,居然都是意外死亡,警方通過查閱死者的電腦和手機贝乎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門情连,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人览效,你說我怎么就攤上這事却舀。” “怎么了锤灿?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵挽拔,是天一觀的道長。 經(jīng)常有香客問我但校,道長螃诅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任状囱,我火速辦了婚禮术裸,結果婚禮上,老公的妹妹穿的比我還像新娘亭枷。我一直安慰自己袭艺,他們只是感情好,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布叨粘。 她就那樣靜靜地躺著猾编,像睡著了一般。 火紅的嫁衣襯著肌膚如雪升敲。 梳的紋絲不亂的頭發(fā)上袍镀,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機與錄音冻晤,去河邊找鬼苇羡。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的设江。 我是一名探鬼主播锦茁,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼叉存!你這毒婦竟也來了码俩?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤歼捏,失蹤者是張志新(化名)和其女友劉穎稿存,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞳秽,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡瓣履,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了练俐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袖迎。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖腺晾,靈堂內的尸體忽然破棺而出燕锥,到底是詐尸還是另有隱情,我是刑警寧澤悯蝉,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布归形,位于F島的核電站,受9級特大地震影響鼻由,放射性物質發(fā)生泄漏暇榴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一嗡靡、第九天 我趴在偏房一處隱蔽的房頂上張望跺撼。 院中可真熱鬧,春花似錦讨彼、人聲如沸歉井。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哩至。三九已至,卻和暖如春蜜自,著一層夾襖步出監(jiān)牢的瞬間菩貌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工重荠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留箭阶,地道東北人。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像仇参,于是被迫代替她去往敵國和親嘹叫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內容