真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用LeetCode實(shí)現(xiàn)求兩數(shù)之和

這篇文章主要介紹“怎么用LeetCode實(shí)現(xiàn)求兩數(shù)之和”,在日常操作中,相信很多人在怎么用LeetCode實(shí)現(xiàn)求兩數(shù)之和問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么用LeetCode實(shí)現(xiàn)求兩數(shù)之和”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司是一家成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),提供網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),網(wǎng)站制作,建網(wǎng)站,按需求定制網(wǎng)站,網(wǎng)站開發(fā)公司,自2013年創(chuàng)立以來(lái)是互聯(lián)行業(yè)建設(shè)者,服務(wù)者。以提升客戶品牌價(jià)值為核心業(yè)務(wù),全程參與項(xiàng)目的網(wǎng)站策劃設(shè)計(jì)制作,前端開發(fā),后臺(tái)程序制作以及后期項(xiàng)目運(yùn)營(yíng)并提出專業(yè)建議和思路。

描述

給定一個(gè)整數(shù)數(shù)組 nums 和一個(gè)整數(shù)目標(biāo)值 target,請(qǐng)你在該數(shù)組中找出 和為目標(biāo)值的那 兩個(gè)整數(shù),并返回它們的數(shù)組下標(biāo)。

你可以假設(shè)每種輸入只會(huì)對(duì)應(yīng)一個(gè)答案。但是,數(shù)組中同一個(gè)元素在答案里不能重復(fù)出現(xiàn)。

你可以按任意順序返回答案。

示例 1:

輸入:nums = [2,7,11,15], target = 9 輸出:[0,1] 解釋:因?yàn)?nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2:

輸入:nums = [3,2,4], target = 6 輸出:[1,2] 示例 3:

輸入:nums = [3,3], target = 6 輸出:[0,1]

Solution

數(shù)組nums中存在兩個(gè)下標(biāo)的值相加的和等于target目標(biāo)值,找到這兩個(gè)數(shù)字并返回下標(biāo),并且答案中不能出現(xiàn)相同的元素坐標(biāo),即每個(gè)元素下標(biāo)不能重復(fù)

暴力解法

暴力解法

思路

暴力解法,直接雙重for循環(huán),循環(huán)不重復(fù),第一層for循環(huán)從0(length-1),第二層for循環(huán)從第一層定義的開始+1length,取出第一層循環(huán)的值和第二層循環(huán)的值,相加等于target則記錄下標(biāo)并返回

CODE
class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] ints = new int[2];
        int length = nums.length;
        for(int i = 0 ; i 
復(fù)雜度
  • 時(shí)間復(fù)雜度:O(N^2),其中 N 是數(shù)組中的元素?cái)?shù)量。最壞情況下數(shù)組中任意兩個(gè)數(shù)都要被匹配一次

  • 空間復(fù)雜度:O(1)

結(jié)果

執(zhí)行用時(shí):0 ms, 在所有 Java 提交中擊敗了100.00%的用戶

內(nèi)存消耗:38.7 MB, 在所有 Java 提交中擊敗了35.39%的用戶

哈希表

哈希表

思路

暴力解法的弊端在于x + y == target的時(shí)間復(fù)雜度過(guò)高,我們需要快速找到x對(duì)應(yīng)的y(target-x)是否存在,即快速找到對(duì)應(yīng)的索引,哈希表則是一個(gè)很好的選擇,利用哈希表將當(dāng)前值x以及對(duì)應(yīng)下標(biāo)i存儲(chǔ)起來(lái),對(duì)于遍歷的每個(gè)x,先查詢?cè)诠1碇惺欠裼袑?duì)應(yīng)的y(target-x),沒(méi)有則將x存入到哈希表中,保證x不會(huì)和自己匹配

CODE
class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map hashtable = new HashMap();
        for (int i = 0; i < nums.length; ++i) {
          	//首先檢查哈希表中是否有對(duì)應(yīng)的y(target-x)
            if (hashtable.containsKey(target - nums[i])) {
                return new int[]{hashtable.get(target - nums[i]), i};
            }
          	//存儲(chǔ)當(dāng)前值和對(duì)應(yīng)下標(biāo)
            hashtable.put(nums[i], i);
        }
        return new int[0];
    }
}
復(fù)雜度
  • 時(shí)間復(fù)雜度:O(N),其中 N 是數(shù)組中的元素?cái)?shù)量。對(duì)于每一個(gè)元素 x,我們可以 O(1) 地尋找 target - x

  • 空間復(fù)雜度:O(N),其中 N 是數(shù)組中的元素?cái)?shù)量。主要為哈希表的開銷

結(jié)果

執(zhí)行用時(shí):0 ms, 在所有 Java 提交中擊敗了100.00%的用戶

內(nèi)存消耗:38.7 MB, 在所有 Java 提交中擊敗了47.28%的用戶

到此,關(guān)于“怎么用LeetCode實(shí)現(xiàn)求兩數(shù)之和”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


當(dāng)前標(biāo)題:怎么用LeetCode實(shí)現(xiàn)求兩數(shù)之和
文章網(wǎng)址:http://weahome.cn/article/jphchg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部