最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++?LeetCode1827題解最少操作使數(shù)組遞增

 更新時(shí)間:2022年12月16日 11:45:35   作者:LetMeFly  
這篇文章主要為大家介紹了C++?LeetCode1827題解最少操作使數(shù)組遞增示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

LeetCode1827.最少操作使數(shù)組遞增

力扣題目鏈接:leetcode.cn/problems/mi…

給你一個(gè)整數(shù)數(shù)組 nums (下標(biāo)從 0 開始)。每一次操作中,你可以選擇數(shù)組中一個(gè)元素,并將它增加 1 。

  • 比方說,如果 nums = [1,2,3] ,你可以選擇增加 nums[1] 得到 nums = [1,3,3] 。

請(qǐng)你返回使 nums 嚴(yán)格遞增 的 最少 操作次數(shù)。

我們稱數(shù)組 nums 是 嚴(yán)格遞增的 ,當(dāng)它滿足對(duì)于所有的 0 <= i < nums.length - 1 都有 nums[i] < nums[i+1] 。一個(gè)長(zhǎng)度為 1 的數(shù)組是嚴(yán)格遞增的一種特殊情況。

示例 1:

輸入:nums = [1,1,1]
輸出:3
解釋:你可以進(jìn)行如下操作:
1) 增加 nums[2] ,數(shù)組變?yōu)?[1,1,2] 。
2) 增加 nums[1] ,數(shù)組變?yōu)?[1,2,2] 。
3) 增加 nums[2] ,數(shù)組變?yōu)?[1,2,3] 。

示例 2:

輸入:nums = [1,5,2,4,1]
輸出:14

示例 3:

輸入:nums = [8]
輸出:0

提示:

  • 1 <= nums.length <= 5000
  • 1 <= nums[i] <= 104

方法一:遍歷

數(shù)字只增不減,還想要整個(gè)數(shù)組遞增,那么肯定是從前往后處理一遍數(shù)組,如果這個(gè)數(shù)比前一個(gè)數(shù)小,那么就讓這個(gè)數(shù)變大。

那么變成多大呢?

為了減少“增加操作”的次數(shù),當(dāng)然是變得越小越好。

因此,我們從前往后遍歷數(shù)組,如果數(shù)組中某個(gè)元素的值不大于前一個(gè)元素,那么就將這個(gè)數(shù)通過“數(shù)次加一操作”變成上一個(gè)元素+1

  • 時(shí)間復(fù)雜度O(len(nums))
  • 空間復(fù)雜度O(1)

AC代碼

C++

class Solution {
public:
    int minOperations(vector<int>& nums) {
        int ans = 0;
        for (int i = 1; i < nums.size(); i++) {
            if (nums[i] <= nums[i - 1]) {
                ans += nums[i - 1] + 1 - nums[i];
                nums[i] = nums[i - 1] + 1;
            }
        }
        return ans;
    }
};

以上就是C++ LeetCode1827題解最少操作使數(shù)組遞增的詳細(xì)內(nèi)容,更多關(guān)于C++ 最少操作數(shù)組遞增的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++中const、volatile、mutable使用方法小結(jié)

    C++中const、volatile、mutable使用方法小結(jié)

    這篇文章主要介紹了C++中const、volatile、mutable使用方法小結(jié),需要的朋友可以參考下
    2020-01-01
  • C讀txt到二維數(shù)組的實(shí)現(xiàn)方法

    C讀txt到二維數(shù)組的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狢讀txt到二維數(shù)組的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • C語言解3元1次方程組 用初中學(xué)的最基本的聯(lián)合消元法

    C語言解3元1次方程組 用初中學(xué)的最基本的聯(lián)合消元法

    最近就想自己能不能先寫個(gè)算線性方程組的程序呢?后來就想了這么個(gè)方法,暫時(shí)只能算3元的,任意元的接下來繼續(xù)想。有太多硬編碼,希望有興趣的讀者可以給點(diǎn)修改建議
    2013-11-11
  • C++隱式轉(zhuǎn)換問題分析及解決辦法

    C++隱式轉(zhuǎn)換問題分析及解決辦法

    在本篇文章里小編給大家整理了關(guān)于C++隱式轉(zhuǎn)換問題分析及解決辦法,有需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • C++?Boost?Format超詳細(xì)講解

    C++?Boost?Format超詳細(xì)講解

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個(gè)可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱
    2022-11-11
  • Qt如何實(shí)現(xiàn)輸入框@聯(lián)系人的@檢測(cè)的示例

    Qt如何實(shí)現(xiàn)輸入框@聯(lián)系人的@檢測(cè)的示例

    本文主要介紹了Qt如何實(shí)現(xiàn)輸入框@聯(lián)系人的@檢測(cè)的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • c++中創(chuàng)建.in文件的方法步驟

    c++中創(chuàng)建.in文件的方法步驟

    在本篇文章里小編給大家分享了一篇關(guān)于c++中創(chuàng)建.in文件的方法步驟的內(nèi)容以及相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-07-07
  • C語言合并兩個(gè)帶頭節(jié)點(diǎn)升序排列鏈表

    C語言合并兩個(gè)帶頭節(jié)點(diǎn)升序排列鏈表

    這篇文章主要為大家詳細(xì)介紹了C語言合并兩個(gè)帶頭節(jié)點(diǎn)升序排列鏈表的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • exec()函數(shù)在C++中的應(yīng)用及其用法

    exec()函數(shù)在C++中的應(yīng)用及其用法

    exec()函數(shù)在C++中是一個(gè)進(jìn)程控制函數(shù),用于創(chuàng)建新進(jìn)程執(zhí)行其他程序或命令行指令。exec()函數(shù)可以替換當(dāng)前進(jìn)程的代碼和數(shù)據(jù),創(chuàng)建新的進(jìn)程運(yùn)行其他程序。exec()函數(shù)有多個(gè)版本,例如execl、execv、execle、execve等,根據(jù)不同的參數(shù)類型和個(gè)數(shù)來使用
    2023-05-05
  • C語言實(shí)現(xiàn)簡(jiǎn)單萬年歷

    C語言實(shí)現(xiàn)簡(jiǎn)單萬年歷

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)單萬年歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02

最新評(píng)論

前郭尔| 吉林省| 文昌市| 宁陵县| 安平县| 宝应县| 普宁市| 孙吴县| 柘荣县| 盐亭县| 安康市| 新巴尔虎左旗| 翼城县| 阳朔县| 廉江市| 高陵县| 孝义市| 山阴县| 井陉县| 玛纳斯县| 钟祥市| 安义县| 乾安县| 乃东县| 长岛县| 佛教| 灵台县| 信阳市| 玉树县| 宜兰市| 绍兴县| 禄劝| 江都市| 谢通门县| 丰县| 靖边县| 宿迁市| 马龙县| 沙河市| 右玉县| 鄂伦春自治旗|