摘要:同時題目假設(shè)每組輸入恰好只有一個答案,并且不能重復(fù)使用同一元素。理解這道題是可以用兩層循環(huán)蠻力解決的,但是效率太低了。如果這兩個元素和大于目標(biāo)數(shù)組,指針左移如果小于,指針右移。如果等于,則返回這兩個元素的位置記得用數(shù)組的數(shù)值加一解法
題目詳情
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. Please note that 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.
Input: numbers={2, 7, 11, 15}, target=9
Output: index1=1, index2=2
題目的輸入是一個已經(jīng)按照升序排列的整數(shù)數(shù)組和一個目標(biāo)數(shù)字。理解
要求的輸出是:數(shù)組中加和恰好為目標(biāo)數(shù)字的兩個元素的位置(這里的位置不從0開始計算)。
同時題目假設(shè)每組輸入恰好只有一個答案,并且不能重復(fù)使用同一元素。
這道題是可以用兩層循環(huán)蠻力解決的,但是效率太低了。我們?nèi)绾文艿玫揭粋€復(fù)雜度為n的解法呢?
我們可以聲明兩個指針left,right分別指向數(shù)組中最小的元素、最大的元素。
如果這兩個元素和大于目標(biāo)數(shù)組,right指針左移;如果小于,left指針右移。如果等于,則返回這兩個元素的位置(記得用數(shù)組的index數(shù)值加一)
public int[] twoSum(int[] numbers, int target) { int[] res = new int[2]; if(numbers == null || numbers.length <2){ return res; } int left = 0; int right = numbers.length-1; while(left < right){ int temp = numbers[left] + numbers[right]; if(temp == target){ res[0] = left + 1; res[1] = right +1; return res; }else if(temp >target){ right --; }else{ left++; } } return res; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68286.html
摘要:公眾號愛寫給定一個已按照升序排列的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標(biāo)數(shù)。函數(shù)應(yīng)該返回這兩個下標(biāo)值和,其中必須小于。示例輸入輸出解釋與之和等于目標(biāo)數(shù)。 公眾號: 愛寫bug(ID:icodebugs) 給定一個已按照升序排列 的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標(biāo)數(shù)。 函數(shù)應(yīng)該返回這兩個下標(biāo)值 index1 和 index2,其中 index1 必須小于 index2。...
摘要:公眾號愛寫給定一個已按照升序排列的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標(biāo)數(shù)。函數(shù)應(yīng)該返回這兩個下標(biāo)值和,其中必須小于。示例輸入輸出解釋與之和等于目標(biāo)數(shù)。 公眾號: 愛寫bug(ID:icodebugs) 給定一個已按照升序排列 的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標(biāo)數(shù)。 函數(shù)應(yīng)該返回這兩個下標(biāo)值 index1 和 index2,其中 index1 必須小于 index2。...
摘要:前言從開始寫相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時也沒有按順序?qū)懍F(xiàn)在翻起來覺得蠻亂的??赡艽蠹铱粗卜浅2环奖恪K栽谶@里做個索引嘻嘻。順序整理更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新 前言 從開始寫leetcode相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時也沒有按順序?qū)憽F(xiàn)在翻起來覺得蠻亂的。可能大家看著也非常不方便。所以在這里做個索引嘻嘻。 順序整理 1~50 1...
摘要:自己沒事刷的一些的題目,若有更好的解法,希望能夠一起探討項目地址 自己沒事刷的一些LeetCode的題目,若有更好的解法,希望能夠一起探討 Number Problem Solution Difficulty 204 Count Primes JavaScript Easy 202 Happy Number JavaScript Easy 190 Reverse Bi...
摘要:在線網(wǎng)站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個題。這是項目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語言 JavaScript。 在線網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...
閱讀 1942·2021-09-24 09:48
閱讀 3272·2021-08-26 14:14
閱讀 1744·2021-08-20 09:36
閱讀 1527·2019-08-30 15:55
閱讀 3671·2019-08-26 17:15
閱讀 1494·2019-08-26 12:09
閱讀 657·2019-08-26 11:59
閱讀 3374·2019-08-26 11:57