leetcode--雙指針

這周是我在leetcode上刷題的第一周左腔,然后我就把和第一題同一系列的題差不多都做了,我記得我們上高三的時(shí)候我們老師就是一個(gè)系列一個(gè)系列的出題麦备,我覺得編程題和數(shù)學(xué)題并沒有本質(zhì)上的區(qū)別逃默,所以我們也應(yīng)該這么刷嘛虾宇。

題目類型

Two Sum II

Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.

The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2.

Note:

Your returned answers (both index1 and index2) are not zero-based.
You may assume that each input would have exactly one solution and you may not use the same element twice.
Example:

Input: numbers = [2,7,11,15], target = 9
Output: [1,2]
Explanation: The sum of 2 and 7 is 9. Therefore index1 = 1, index2 = 2.

3Sum

Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.

Note:

The solution set must not contain duplicate triplets.

Example:

Given array nums = [-1, 0, 1, 2, -1, -4],

A solution set is:
[
  [-1, 0, 1],
  [-1, -1, 2]
]

3Sum Closest

Given an array nums of n integers and an integer target, find three integers in nums such that the sum is closest to target. Return the sum of the three integers. You may assume that each input would have exactly one solution.

Example:

Given array nums = [-1, 2, 1, -4], and target = 1.

The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).

這幾道題都是有共同點(diǎn)的:
1.他們用的共同的數(shù)據(jù)結(jié)構(gòu)都是數(shù)組
2.他們的要求都是在數(shù)組中找到某個(gè)或某幾個(gè)符合要求的元素
3.他們都會(huì)給一個(gè)目標(biāo)值搓彻,通過某個(gè)目標(biāo)值來找到那幾個(gè)元素
在數(shù)組中找到某個(gè)值我就想到了二分查找,二分查找的代碼是這樣的:

//非遞歸
public static int binarySearch(int[] arr, int start, int end, int target){
    int result = -1;

    while (start <= end){
        int mid = start + (end - start)/2;    //防止溢位
        if (arr[mid] > target)
            end = mid - 1;
        else if (arr[mid] < target)
            start = mid + 1;
        else {
            result = mid ;  
            break;
        }
    }

    return result;

}

我們先來做Two Sum II嘱朽,因?yàn)檫@個(gè)題最簡(jiǎn)單嘛旭贬,并且這些題都是一個(gè)系列的,會(huì)一道應(yīng)該就都會(huì)了搪泳。
那么我們就可以假設(shè)是不是對(duì)這個(gè)代碼改一改就能得到題的答案呢稀轨?
我們可以在start和end兩個(gè)指針上做點(diǎn)處理,代碼就成這樣了:

public int[] twoSum(int[] nums, int target) {
        for (int start = 0, end = nums.length - 1; start < end && end < nums.length; ) {
            if (nums[start] + nums[end] > target)
                end--;
            else if (nums[start] + nums[end] < target)
                i++;
            else return new int[] {start + 1, end + 1};
        }
        throw new IllegalArgumentException("No two sum solution");
    }
}

然后跑一下:


第一個(gè)打敗100%.png

emmmm到這個(gè)份上應(yīng)該契合題意了吧岸军,然后對(duì)這類題應(yīng)該就是用兩個(gè)指針在數(shù)組上遍歷才叫雙指針的吧奋刽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市艰赞,隨后出現(xiàn)的幾起案子佣谐,更是在濱河造成了極大的恐慌,老刑警劉巖方妖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狭魂,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡党觅,警方通過查閱死者的電腦和手機(jī)雌澄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杯瞻,“玉大人镐牺,你說我怎么就攤上這事∮直” “怎么了任柜?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵卒废,是天一觀的道長沛厨。 經(jīng)常有香客問我,道長摔认,這世上最難降的妖魔是什么逆皮? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮参袱,結(jié)果婚禮上电谣,老公的妹妹穿的比我還像新娘秽梅。我一直安慰自己,他們只是感情好剿牺,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布企垦。 她就那樣靜靜地躺著,像睡著了一般晒来。 火紅的嫁衣襯著肌膚如雪钞诡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天湃崩,我揣著相機(jī)與錄音荧降,去河邊找鬼。 笑死攒读,一個(gè)胖子當(dāng)著我的面吹牛朵诫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播薄扁,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼剪返,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了邓梅?” 一聲冷哼從身側(cè)響起随夸,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎震放,沒想到半個(gè)月后宾毒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡殿遂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年诈铛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片墨礁。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡幢竹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出恩静,到底是詐尸還是另有隱情焕毫,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布驶乾,位于F島的核電站邑飒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏级乐。R本人自食惡果不足惜疙咸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望风科。 院中可真熱鬧撒轮,春花似錦乞旦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至顶瞳,卻和暖如春亲桦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背浊仆。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國打工客峭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人抡柿。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓舔琅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親洲劣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子备蚓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

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

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,308評(píng)論 0 10
  • <center>#1 Two Sum</center> link Description:Given an arr...
    鐺鐺鐺clark閱讀 2,140評(píng)論 0 3
  • 微信日活躍數(shù)已經(jīng)超過6億,社群經(jīng)濟(jì)已經(jīng)在微信上展現(xiàn)出勃勃生機(jī)囱稽。很多企業(yè)和個(gè)人都已經(jīng)開始挖礦掘金郊尝,許多社群組織活躍...
    梵_0aca閱讀 250評(píng)論 0 0
  • 時(shí)間過得真快流昏,一轉(zhuǎn)眼我的寶貝女兒都已經(jīng)是26歲的大姑娘了,今天是她的生日吞获。 還記得她出生的那天早...
    秋水伊人_44ad閱讀 303評(píng)論 0 0
  • ??安卓開發(fā)一般都需要進(jìn)行軟鍵盤管理况凉,常用操作老司機(jī)已為你封裝完畢,你可以用這份工具進(jìn)行管理各拷,具體可以查看源碼刁绒,現(xiàn)...
    想你依然心痛閱讀 204評(píng)論 0 1