leetcode1---Two Sum

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15],

target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,

return [0,1].

題目分析:要求求出一個數(shù)組中兩個元素和為一個定值的問題,我們的第一想法自然是循環(huán)遍歷兩次墙贱,依次記錄兩個位置的值,這樣自然是可以解的,但是這種解的時間復雜度為O(n^2),不過試了一下善玫,這種解法也能過工窍,代碼就不上了科乎。我們來分析能否降低算法復雜度壁畸,將其降到O(n)級別贼急,我們?nèi)绻胍淮螔呙杈湍艿玫秸_結(jié)果的話茅茂,自然需要一個數(shù)據(jù)結(jié)構(gòu)來記錄之前掃描過的數(shù)據(jù),然后判斷這兩個值的和是否為target太抓,這里我們自然而然的可以想到用Map數(shù)據(jù)結(jié)構(gòu)來存儲已經(jīng)遍歷過的值和它的位置空闲,PS:HashMap的查詢效率是O(1)而不是O(n),如果對于這個不了解的話可以去看一下hashMap的底層實現(xiàn)走敌,當我們遍歷到當前值nums[i]的時候碴倾,來查詢map是否還有target-nums[i]這個鍵,如果有的話掉丽,則找出對應的值跌榔,否則我們將當前的nums[i]作為鍵,位置i作為值放進數(shù)組返回捶障。代碼如下:

public static int[] twoSum(int[] nums, int target) {
        int[] result = new int[2];
        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            if (map.containsKey(target - nums[i])) {
                result[0]=map.get(target-nums[i]);
                result[1]=i;
            } else {
                map.put(nums[i], i);
            }
        }
        return result;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末僧须,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子项炼,更是在濱河造成了極大的恐慌担平,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锭部,死亡現(xiàn)場離奇詭異暂论,居然都是意外死亡,警方通過查閱死者的電腦和手機拌禾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門取胎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人湃窍,你說我怎么就攤上這事闻蛀∩阍樱” “怎么了?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵循榆,是天一觀的道長析恢。 經(jīng)常有香客問我,道長秧饮,這世上最難降的妖魔是什么映挂? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮盗尸,結(jié)果婚禮上柑船,老公的妹妹穿的比我還像新娘。我一直安慰自己泼各,他們只是感情好鞍时,可當我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扣蜻,像睡著了一般逆巍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上莽使,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天锐极,我揣著相機與錄音,去河邊找鬼芳肌。 笑死灵再,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的亿笤。 我是一名探鬼主播翎迁,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼净薛!你這毒婦竟也來了汪榔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤罕拂,失蹤者是張志新(化名)和其女友劉穎揍异,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爆班,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡衷掷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了柿菩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戚嗅。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出懦胞,到底是詐尸還是另有隱情替久,我是刑警寧澤,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布躏尉,位于F島的核電站蚯根,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏胀糜。R本人自食惡果不足惜颅拦,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望教藻。 院中可真熱鬧距帅,春花似錦、人聲如沸括堤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悄窃。三九已至讥电,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間广匙,已是汗流浹背允趟。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工恼策, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鸦致,地道東北人。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓涣楷,卻偏偏與公主長得像分唾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狮斗,可洞房花燭夜當晚...
    茶點故事閱讀 43,435評論 2 348

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

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗绽乔。 張土汪:刷leetcod...
    土汪閱讀 12,737評論 0 33
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 簡書 1. 問題描述 Given an ar...
    SnailTyan閱讀 454評論 0 0
  • Two Sum Given an array of integers, return indices of the...
    KaelQ閱讀 3,330評論 2 1
  • 給定一個整數(shù)數(shù)組 nums 和一個目標值 target,請你在該數(shù)組中找出和為目標值的那 兩個 整數(shù)碳褒,并返回他們的...
    mztkenan閱讀 378評論 0 0
  • 分析: 解法一:最容易想到的暴力搜索折砸,兩個循環(huán)。時間復雜度:O(n^2)解法二:在解法一的基礎上優(yōu)化一些沙峻,比如可以...
    glassyw閱讀 146評論 0 0