国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Leetcode算法解析——查找總價格為目標(biāo)值的兩個商品

這篇具有很好參考價值的文章主要介紹了Leetcode算法解析——查找總價格為目標(biāo)值的兩個商品。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 題目鏈接:LCR 179. 查找總價格為目標(biāo)值的兩個商品

2. 題目描述:

商品價格按照升序記錄于數(shù)組 price。請在購物車中找到兩個商品的價格總和剛好是 target。若存在多種情況,返回任一結(jié)果即可。

示例 1:

輸入:price = [3, 9, 12, 15], target = 18
輸出:[3,15] 或者 [15,3]

示例 2:

輸入:price = [8, 21, 27, 34, 52, 66], target = 61
輸出:[27,34] 或者 [34,27]

提示:

  • 1 <= price.length <= 10^5
  • 1 <= price[i] <= 10^6
  • 1 <= target <= 2*10^6

3. 暴力枚舉(超時)

3.1 算法思路

用兩層循環(huán)把所有的可能性都列舉出來,然后判斷是否有等目標(biāo)值的兩個數(shù)

3.2 算法流程

  1. 外層循環(huán)枚舉第一個數(shù)
  2. 內(nèi)層循環(huán)枚舉第二個數(shù),與第一個進(jìn)行匹配
  3. 如果兩個數(shù)相加等于目標(biāo)值,返回這兩個數(shù)

Leetcode算法解析——查找總價格為目標(biāo)值的兩個商品,算法,leetcode,算法,職場和發(fā)展

3.3 C++算法代碼


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

4. 雙指針

4.1 算法思路

因為本題是升序的數(shù)組,利用對撞指針可以極大的優(yōu)化時間復(fù)雜度

4.2 算法流程

  1. 初始化leftright分別指向數(shù)組的左右兩端(這里的leftright表示是下標(biāo))

  2. 當(dāng)left<right,進(jìn)入循環(huán)

    • 當(dāng)price[left]+price[right]==target,說明找到結(jié)果,記錄結(jié)果,并且返回

    • 當(dāng)price[left]+price[right]>target時,對于price[right],此時price[left]相當(dāng)于price[right]能碰過的最小值,如果此時沒有符合price[right]的數(shù)了,right--然后比較下一組數(shù)據(jù)

    • 當(dāng)price[left]+price[right]<target時,對于price[left],此時price[right]相當(dāng)于price[left]能碰過的最大值,如果此時就沒有符合price[left]的數(shù)了,left++然后比較下一組數(shù)據(jù)

Leetcode算法解析——查找總價格為目標(biāo)值的兩個商品,算法,leetcode,算法,職場和發(fā)展文章來源地址http://www.zghlxwxcb.cn/news/detail-725552.html

4.3 C++算法代碼

class Solution {
public:
    vector<int> twoSum(vector<int>& price, int target) {
        int n=price.size();
        //設(shè)置左右指針
        int left=0,right=n-1;
        while(left<right)
        {
            //大于右指針--
            if(price[left]+price[right]>target)
            right--;
            //小于左指針++
            else if(price[left]+price[right]<target)
            left++;
            else
            //返回
            return{price[left],price[right]};
        }
        return{-1,-1};
    }
};

到了這里,關(guān)于Leetcode算法解析——查找總價格為目標(biāo)值的兩個商品的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • lc1074.元素和為目標(biāo)值的子矩陣數(shù)量

    lc1074.元素和為目標(biāo)值的子矩陣數(shù)量

    創(chuàng)建二維前綴和數(shù)組 兩個for循環(huán),外循環(huán)表示子矩陣的左上角(x1,y1),內(nèi)循環(huán)表示子矩陣的右下角(x2,y2) 兩個for循環(huán)遍歷,計算子矩陣的元素總和 四個變量,暴力破解的時間復(fù)雜度為 O(m^2*n^2) (m、n為matrix數(shù)組的行數(shù)和列數(shù)) 優(yōu)化 計算每一行的前綴和,而不是整個矩陣

    2024年02月14日
    瀏覽(22)
  • 【VUE】數(shù)字動態(tài)變化到目標(biāo)值-vue-count-to

    【VUE】數(shù)字動態(tài)變化到目標(biāo)值-vue-count-to

    vue-count-to是一個Vue組件,用于實現(xiàn)數(shù)字動畫效果。它可以用于顯示從一個數(shù)字到另一個數(shù)字的過渡動畫。? 插件名:vue-count-to 官方倉庫地址:GitHub - PanJiaChen/vue-countTo: It\\\'s a vue component that will count to a target number at a specified duration https://panjiachen.github.io/countTo/demo/ 官方Demo地址:

    2024年02月11日
    瀏覽(33)
  • 【算法系列 | 10】深入解析查找算法之—線性查找

    【算法系列 | 10】深入解析查找算法之—線性查找

    心若有陽光,你便會看見這個世界有那么多美好值得期待和向往。 決定開一個算法專欄,希望能幫助大家很好的了解算法。主要深入解析每個算法,從概念到示例。 我們一起努力,成為更好的自己! 今天第10講,講一下查找算法的線性查找算法 查找算法是計算機(jī)科學(xué)中的一

    2024年02月08日
    瀏覽(22)
  • 【算法系列 | 11】深入解析查找算法之—插值查找

    【算法系列 | 11】深入解析查找算法之—插值查找

    心若有陽光,你便會看見這個世界有那么多美好值得期待和向往。 決定開一個算法專欄,希望能幫助大家很好的了解算法。主要深入解析每個算法,從概念到示例。 我們一起努力,成為更好的自己! 今天第11講,講一下查找算法的—插值查找算法 查找算法是計算機(jī)科學(xué)中的

    2024年02月03日
    瀏覽(22)
  • 【算法系列 | 8】深入解析查找算法之—二分查找

    【算法系列 | 8】深入解析查找算法之—二分查找

    心若有陽光,你便會看見這個世界有那么多美好值得期待和向往。 決定開一個算法專欄,希望能幫助大家很好的了解算法。主要深入解析每個算法,從概念到示例。 我們一起努力,成為更好的自己! 今天第8講,講一下查找算法的二分查找 查找算法是很常見的一類問題,主

    2024年02月07日
    瀏覽(32)
  • 【算法系列 | 9】深入解析查找算法之—哈希表查找

    【算法系列 | 9】深入解析查找算法之—哈希表查找

    心若有陽光,你便會看見這個世界有那么多美好值得期待和向往。 決定開一個算法專欄,希望能幫助大家很好的了解算法。主要深入解析每個算法,從概念到示例。 我們一起努力,成為更好的自己! 今天第9講,講一下查找算法的哈希表查找 查找算法是計算機(jī)科學(xué)中的一類

    2024年02月08日
    瀏覽(23)
  • 【算法系列 | 12】深入解析查找算法之—斐波那契查找

    【算法系列 | 12】深入解析查找算法之—斐波那契查找

    心若有陽光,你便會看見這個世界有那么多美好值得期待和向往。 決定開一個算法專欄,希望能幫助大家很好的了解算法。主要深入解析每個算法,從概念到示例。 我們一起努力,成為更好的自己! 今天第12講,講一下查找算法的—斐波那契查找 斐波那契查找算法是一種

    2024年02月03日
    瀏覽(25)
  • 【算法系列 | 7】深入解析查找算法之—布隆過濾器

    【算法系列 | 7】深入解析查找算法之—布隆過濾器

    心若有陽光,你便會看見這個世界有那么多美好值得期待和向往。 決定開一個算法專欄,希望能幫助大家很好的了解算法。主要深入解析每個算法,從概念到示例。 我們一起努力,成為更好的自己! 今天第3講,講一下排序算法的選擇排序(Selection Sort) 查找算法是很常見的

    2024年02月14日
    瀏覽(27)
  • 【算法|二分查找No.4】leetcode 852. 山脈數(shù)組的峰頂索引

    【算法|二分查找No.4】leetcode 852. 山脈數(shù)組的峰頂索引

    個人主頁:兜里有顆棉花糖 歡迎 點贊?? 收藏? 留言? 加關(guān)注??本文由 兜里有顆棉花糖 原創(chuàng) 收錄于專欄【手撕算法系列專欄】【LeetCode】 ??本專欄旨在提高自己算法能力的同時,記錄一下自己的學(xué)習(xí)過程,希望對大家有所幫助 ??希望我們一起努力、成長,共同進(jìn)步。

    2024年02月05日
    瀏覽(36)
  • 力扣-202. 快樂數(shù)解析-弗洛伊德循環(huán)查找算法

    力扣-202. 快樂數(shù)解析-弗洛伊德循環(huán)查找算法

    題目鏈接 ? 使用代碼測試一下每一代數(shù)字? 可以發(fā)現(xiàn) 歸納一下這些簡單數(shù)字就可以發(fā)現(xiàn),對于任意一個非快樂數(shù),最終會進(jìn)入重復(fù)循環(huán), ···不難發(fā)現(xiàn),4即之后的結(jié)果就是新一輪循環(huán)。 那么我的第一個做法是檢測4出現(xiàn)的次數(shù) 如果4出現(xiàn)次數(shù)超過兩次, 那么就不是快樂數(shù) 感

    2024年01月20日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包