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

go語言題解LeetCode1299將每個元素替換為右側(cè)最大元素

 更新時間:2023年01月03日 10:35:19   作者:劉09k11  
這篇文章主要為大家介紹了go語言LeetCode刷題1299將每個元素替換為右側(cè)最大元素示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

題目描述

1299. 將每個元素替換為右側(cè)最大元素 - 力扣(LeetCode)

給你一個數(shù)組 arr ,請你將每個元素用它右邊最大的元素替換,如果是最后一個元素,用 -1 替換。

完成所有替換操作后,請你返回這個數(shù)組。

示例 1:

輸入:arr = [17,18,5,4,6,1]
輸出:[18,6,6,6,1,-1]
解釋:
- 下標(biāo) 0 的元素 --> 右側(cè)最大元素是下標(biāo) 1 的元素 (18)
- 下標(biāo) 1 的元素 --> 右側(cè)最大元素是下標(biāo) 4 的元素 (6)
- 下標(biāo) 2 的元素 --> 右側(cè)最大元素是下標(biāo) 4 的元素 (6)
- 下標(biāo) 3 的元素 --> 右側(cè)最大元素是下標(biāo) 4 的元素 (6)
- 下標(biāo) 4 的元素 --> 右側(cè)最大元素是下標(biāo) 5 的元素 (1)
- 下標(biāo) 5 的元素 --> 右側(cè)沒有其他元素,替換為 -1

示例 2:

輸入:arr = [400]
輸出:[-1]
解釋:下標(biāo) 0 的元素右側(cè)沒有其他元素。

提示:

1 <= arr.length <= 10^4

1 <= arr[i] <= 10^5

思路分析

從題目可以看出

  • 從右到左遍歷的話,剛好是從遍歷過的數(shù)中去尋找最大值。
  • 從左到右遍歷的話,那么就需要提前比較還未遍歷的值。

不難看出從右到左遍歷只需要O(n)時間復(fù)雜度,

從左到右遍歷需要O(n^2)的時間復(fù)雜度

在這個題感悟到,其實有時候生活中遇到困難了,不妨換個思維去想一下

也許當(dāng)前困難不過是對自己的一種考驗

多花點(diǎn)思維思考去解決比用簡單的惰性思維去“懶”解決要為后續(xù)實現(xiàn)的節(jié)省更多時間

AC 代碼

class Solution {
    public int[] replaceElements(int[] arr) {
        int max = -1;
        for (int i = arr.length - 1; i >= 0; i--) {
            int tmp = arr[i];
            arr[i] = max;
            if (tmp > max) {
                max = tmp;
            }
        }
        return arr;
    }
}

Java 百分百 - 將每個元素替換為右側(cè)最大元素

逆序遍歷罷了

代碼

class Solution {
    public int[] replaceElements(int[] arr) {
       int max = -1;
       int[] ans = new int[arr.length];
       for(int i = arr.length-1;i >= 0;i--){
           int temp = arr[i];
           ans[i] = max;
           max = Math.max(max,temp);
       }
       return ans;
    }
}

從右往左一次遍歷 - 將每個元素替換為右側(cè)最大元素

從右往左遍歷,先記錄右邊最大值 rightMax 為最后一個值,向左每次更新 rightMax,使用變量 t 先記住當(dāng)前 arr[i] 就可以了。

class Solution {
    public int[] replaceElements(int[] arr) {
        int rightMax = arr[arr.length - 1];
        arr[arr.length - 1] = -1;
        for (int i = arr.length - 2; i >= 0; i--) {
            int t = arr[i];
            arr[i] = rightMax;
            if (t > rightMax)
                rightMax = t;
        }
        return arr;
    }
}

以上就是go語言題解LeetCode1299將每個元素替換為右側(cè)最大元素的詳細(xì)內(nèi)容,更多關(guān)于go 元素替換右側(cè)最大元素的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go開發(fā)神器Air熱加載的安裝使用探究

    Go開發(fā)神器Air熱加載的安裝使用探究

    這篇文章主要介紹了Go開發(fā)神器Air熱加載使用實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Go語言基于HTTP的內(nèi)存緩存服務(wù)的實現(xiàn)

    Go語言基于HTTP的內(nèi)存緩存服務(wù)的實現(xiàn)

    這篇文章主要介紹了Go語言基于HTTP的內(nèi)存緩存服務(wù),本程序采用REST接口,支持設(shè)置(Set)、獲取(Get)和刪除(Del)這3個基本操作,同時還支持對緩存服務(wù)狀態(tài)進(jìn)行查詢,需要的朋友可以參考下
    2022-08-08
  • golang內(nèi)存對齊的概念及案例詳解

    golang內(nèi)存對齊的概念及案例詳解

    為保證程序順利高效的運(yùn)行,編譯器會把各種類型的數(shù)據(jù)安排到合適的地址,并占用合適的長度,這就是內(nèi)存對齊。本文重點(diǎn)給大家介紹golang內(nèi)存對齊的概念及案例詳解,感興趣的朋友一起看看吧
    2022-02-02
  • 詳解Golang中日志庫glog的使用

    詳解Golang中日志庫glog的使用

    golang/glog?是?C++?版本?google/glog?的?Go?版本實現(xiàn),基本實現(xiàn)了原生?glog?的日志格式,下面大家就跟隨小編一起了解一下glog的具體使用吧
    2023-09-09
  • 在Go中構(gòu)建并發(fā)TCP服務(wù)器

    在Go中構(gòu)建并發(fā)TCP服務(wù)器

    今天小編就為大家分享一篇關(guān)于在Go中構(gòu)建并發(fā)TCP服務(wù)器的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 利用Go語言實現(xiàn)二叉搜索樹

    利用Go語言實現(xiàn)二叉搜索樹

    二叉樹是一種常見并且非常重要的數(shù)據(jù)結(jié)構(gòu),在很多項目中都能看到二叉樹的身影,當(dāng)然它也有很多變種,本文要介紹的是二叉搜索樹的實現(xiàn),希望對大家有所幫助
    2023-07-07
  • go語言實現(xiàn)字符串與其它類型轉(zhuǎn)換(strconv包)

    go語言實現(xiàn)字符串與其它類型轉(zhuǎn)換(strconv包)

    strconv包是Go語言標(biāo)準(zhǔn)庫的一部分,主要提供字符串與基本數(shù)據(jù)類型之間的轉(zhuǎn)換功能,使用strconv包可以方便地在不同類型之間進(jìn)行轉(zhuǎn)換,滿足日常編程中的需求,感興趣的可以了解一下
    2024-10-10
  • Go語言對JSON數(shù)據(jù)進(jìn)行序列化和反序列化

    Go語言對JSON數(shù)據(jù)進(jìn)行序列化和反序列化

    這篇文章介紹了Go語言對JSON數(shù)據(jù)進(jìn)行序列化和反序列化的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • golang 如何用反射reflect操作結(jié)構(gòu)體

    golang 如何用反射reflect操作結(jié)構(gòu)體

    這篇文章主要介紹了golang 用反射reflect操作結(jié)構(gòu)體的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Go Struct結(jié)構(gòu)體的具體實現(xiàn)

    Go Struct結(jié)構(gòu)體的具體實現(xiàn)

    Go語言中通過結(jié)構(gòu)體的內(nèi)嵌再配合接口比面向?qū)ο缶哂懈叩臄U(kuò)展性和靈活性,本文主要介紹了Go Struct結(jié)構(gòu)體的具體實現(xiàn),感興趣的可以了解一下
    2023-03-03

最新評論

政和县| 桃江县| 济宁市| 长宁县| 大安市| 来安县| 台南县| 股票| 阿拉尔市| 安达市| 调兵山市| 临武县| 东港市| 屏东市| 分宜县| 抚远县| 汕尾市| 咸宁市| 恩平市| 滨海县| 涡阳县| 井冈山市| 康平县| 易门县| 康定县| 淳化县| 罗山县| 饶河县| 南投县| 民和| 巩义市| 沭阳县| 咸宁市| 临泽县| 南雄市| 鸡泽县| 习水县| 彩票| 清水河县| 台湾省| 安义县|