中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
LeetCode題庫1求解兩數(shù)之和

題目:給定一個整數(shù)數(shù)組 nums 和一個整數(shù)目標(biāo)值 target,請你在該數(shù)組中找出 和為目標(biāo)值 target 的那 兩個 整數(shù),并返回它們的數(shù)組下標(biāo)。你可以假設(shè)每種輸入只會對應(yīng)一個答案。但是,數(shù)組中同一個元素在答案里不能重復(fù)出現(xiàn)。你可以按任意順序返回答案。

題解思路一:直接利用雙for循環(huán)來搞定每一種可能的匹配,就是說把每一個值對應(yīng)的每一種情況都進(jìn)行判斷,最終進(jìn)行target判斷,如果匹配成功,返回兩個角標(biāo)值!這個解法最壞的一種情況就是我們遍歷了所有的數(shù)組元素,直到最后一組才匹配成功,所以時間復(fù)雜度為O(n^2)。

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) 
    {
        vector<int> returnvalue;
        for(int i = 0;i<nums.size();i++)
        {
            for(int j = i+1;j<nums.size();j++)
            {
                if(nums[i]+nums[j] == target)
                {
                    returnvalue.push_back(i);
                    returnvalue.push_back(j);
                    return returnvalue;
                }
            }
        }
        return returnvalue;
    }
};

題解思路二:我們題解一利用的是加法思想,但是也可以利用減法思想來進(jìn)行考慮,就是說讓target減去當(dāng)前值,能不能得到一個目標(biāo)值,然后判斷目標(biāo)中是否屬于這個原本的數(shù)組,這就是思路,具體的實(shí)現(xiàn)用到了map,有關(guān)map的簡單使用,可以看看我之前的這篇博客:https://blog.csdn.net/qq_42253797/category_9910118.html,這個解法雖然說時間復(fù)雜度降低了,但是空間復(fù)雜度又提高了,因?yàn)橛辛薽ap的額外開銷,所以這也是一種在內(nèi)存占用和cpu執(zhí)行時間中的選擇吧,沒有絕對的哪種好與那種壞,和硬件配置也有關(guān)系,不過目前內(nèi)存一般都不成問題。
具體實(shí)現(xiàn)代碼:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) 
    {
        vector<int> returnvalue;
        map<int,int> temp;//暫存
        for(int i = 0;i<nums.size();i++)
        {
            if(temp.count(target-nums[i])!= 0)//如果當(dāng)前map中匹配中這個key值,那么就會返回一個不為0的數(shù)字
            {
                returnvalue.push_back(i);
                returnvalue.push_back(temp[target-nums[i]]);//取出key對應(yīng)的value 壓入vector
                return returnvalue;
            }
            temp[nums[i]] = i;//它是記錄下當(dāng)前key值的value
        }
        return returnvalue;
    }
};
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
劍指offer(C++)-JZ56:數(shù)組中只出現(xiàn)一次的兩個數(shù)字(算法-位運(yùn)算)
CRC循環(huán)校驗(yàn) java代碼實(shí)現(xiàn)
LeetCode 34*. 在排序數(shù)組中查找元素的第一個和最后一個位置(Python)
【小Y學(xué)算法】??每日LeetCode打卡??——16.搜索插入位置
劍指offer之滑動窗口的最大值
使用對換解決數(shù)組部分旋轉(zhuǎn)問題
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服