1. 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ù)組和一個目標(biāo)數(shù),如果能在這個數(shù)組中找到兩個元素的和等于目標(biāo)數(shù)玻侥,那么就輸出這兩個數(shù)的下標(biāo)道伟,每次輸入用例時,都保證只有一個結(jié)果,每個元素使用一次蜜徽。

常規(guī)解法:兩層循環(huán)嵌套,依次遍歷票摇,每兩個元素都做一次相加運(yùn)算看是否等于目標(biāo)數(shù)拘鞋,直到找到這樣兩個數(shù),返回下標(biāo)矢门。時間復(fù)雜度太高盆色。

/**
Note: The returned array must be malloced, assume caller calls free().
*/

int* twoSum(int* nums, int numsSize, int target) {
  int arr=(int *)malloc(sizeof(int)3);
  for(int i=0;i<numsSize;++i)
  {
    for(int j=i+1;j<numsSize;++j)
    {
        if(i!=j && nums[i]+nums[j]==target)
        {
            arr[0]=i;
            arr[1]=j;
            break;
        }
    }
  }
  return arr;
}

其他解法:
用哈希表,對數(shù)組進(jìn)行一次遍歷祟剔,每遍歷數(shù)組中的一個元素隔躲,就用目標(biāo)數(shù)減去該元素,看得到的結(jié)果是否存在哈希表中物延,如果不存在將該元素放入哈希表宣旱,繼續(xù)遍歷,直到找到結(jié)果在哈希表中叛薯,則找到這兩個元素浑吟,返回對應(yīng)下標(biāo)。時間復(fù)雜度相對較低耗溜。

class Solution {
public:
  vector<int> twoSum(vector<int>& nums, int target) {
    vector<int> index;
    unordered_map<int, int> hash;
    for(int i=0; i<nums.size(); ++i) {
        auto it = hash.find(target-nums[i]);
        if(it != hash.end()) {
            index.push_back(min(i, it->second)+1);
            index.push_back(max(i, it->second)+1);
            return index;
        }
        else hash[nums[i]] = i;
    }
  }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末组力,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子抖拴,更是在濱河造成了極大的恐慌燎字,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阿宅,死亡現(xiàn)場離奇詭異候衍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)家夺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門脱柱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拉馋,你說我怎么就攤上這事榨为。” “怎么了煌茴?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵随闺,是天一觀的道長。 經(jīng)常有香客問我蔓腐,道長矩乐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮散罕,結(jié)果婚禮上分歇,老公的妹妹穿的比我還像新娘。我一直安慰自己欧漱,他們只是感情好职抡,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著误甚,像睡著了一般缚甩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上窑邦,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天擅威,我揣著相機(jī)與錄音,去河邊找鬼冈钦。 笑死郊丛,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的派继。 我是一名探鬼主播宾袜,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼驾窟!你這毒婦竟也來了庆猫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤绅络,失蹤者是張志新(化名)和其女友劉穎月培,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恩急,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杉畜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了衷恭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片此叠。...
    茶點(diǎn)故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖随珠,靈堂內(nèi)的尸體忽然破棺而出灭袁,到底是詐尸還是另有隱情,我是刑警寧澤窗看,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布茸歧,位于F島的核電站,受9級特大地震影響显沈,放射性物質(zhì)發(fā)生泄漏软瞎。R本人自食惡果不足惜逢唤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望涤浇。 院中可真熱鬧鳖藕,春花似錦、人聲如沸只锭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纹烹。三九已至,卻和暖如春召边,著一層夾襖步出監(jiān)牢的瞬間铺呵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工隧熙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留片挂,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓贞盯,卻偏偏與公主長得像音念,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子躏敢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評論 2 361

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