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

Go語(yǔ)言題解LeetCode724尋找數(shù)組的中心下標(biāo)

 更新時(shí)間:2022年12月28日 14:22:29   作者:劉09k11  
這篇文章主要為大家介紹了Go語(yǔ)言題解LeetCode724尋找數(shù)組的中心下標(biāo),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

題目描述

724. 尋找數(shù)組的中心下標(biāo) - 力扣(LeetCode) (leetcode-cn.com)

給你一個(gè)整數(shù)數(shù)組 nums ,請(qǐng)計(jì)算數(shù)組的 中心下標(biāo)

數(shù)組 中心下標(biāo) 是數(shù)組的一個(gè)下標(biāo),其左側(cè)所有元素相加的和等于右側(cè)所有元素相加的和。

如果中心下標(biāo)位于數(shù)組最左端,那么左側(cè)數(shù)之和視為 0 ,因?yàn)樵谙聵?biāo)的左側(cè)不存在元素。這一點(diǎn)對(duì)于中心下標(biāo)位于數(shù)組最右端同樣適用。

如果數(shù)組有多個(gè)中心下標(biāo),應(yīng)該返回 最靠近左邊 的那一個(gè)。如果數(shù)組不存在中心下標(biāo),返回 -1 。

示例 1:

輸入:nums = [1, 7, 3, 6, 5, 6]
輸出:3
解釋?zhuān)?
中心下標(biāo)是 3 。
左側(cè)數(shù)之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,
右側(cè)數(shù)之和 sum = nums[4] + nums[5] = 5 + 6 = 11 ,二者相等。

示例 2:

輸入:nums = [1, 2, 3]
輸出:-1
解釋?zhuān)?
數(shù)組中不存在滿(mǎn)足此條件的中心下標(biāo)。

示例 3:

輸入:nums = [2, 1, -1]
輸出:0
解釋?zhuān)?
中心下標(biāo)是 0 。
左側(cè)數(shù)之和 sum = 0 ,(下標(biāo) 0 左側(cè)不存在元素),
右側(cè)數(shù)之和 sum = nums[1] + nums[2] = 1 + -1 = 0 。

提示:

1 <= nums.length <= 10^4

-1000 <= nums[i] <= 1000

思路分析

暴力 破解思路 遍歷數(shù)組每一位,計(jì)算出每一位左側(cè)所有值和右側(cè)所有值,然后進(jìn)行比較。復(fù)雜度為 O(n²);

優(yōu)化暴力 破解

其實(shí)遍歷時(shí),無(wú)需每次都計(jì)算所有的值,我們可以利用上一次計(jì)算好的值,增減一位即可得到本次的目標(biāo)值。

[1, 2, 3 ,4 ,5, 6]

遍歷1:當(dāng)前位為1,leftSum[0]=0, rightSum[0]=20;

遍歷2:當(dāng)前位為2,leftSum[1]=leftSum[0]+nums[0] = 1, rightSum[1] = rightSum[0] - nums[1] = 18;

遍歷3:當(dāng)前位為3,leftSum[2]=leftSum[1]+nums[1] = 3, rightSum[2] = rightSum[1] - nums[2] = 15;

........

AC 代碼

class Solution {
    public int pivotIndex(int[] nums) {
        int length = nums.length;
        if (length == 0) {
            return -1;
        }
        if (length == 1) {
            return 0;
        }
        // 左右側(cè)的累加值,初始化
        int leftSum = 0;
        int rightSum = 0;
        // 右累加值,從第二位開(kāi)始累加到最后一位
        for (int i=1;i<length;i++) {
            rightSum += nums[i];
        }
        for (int i=0;i<length;i++) {
            if (i == 0) {
                if (leftSum == rightSum) {
                    return i;
                }
            } else {
                // 不是第一位,左累加值要加上上一位的數(shù)字,右累加值要減去本位的數(shù)字
                leftSum += nums[i-1];
                rightSum -= nums[i];
                if (leftSum == rightSum) {
                    return i;
                }
            }
        }
        return -1;
    }
}

以上就是Go語(yǔ)言題解LeetCode724尋找數(shù)組的中心下標(biāo)的詳細(xì)內(nèi)容,更多關(guān)于Go語(yǔ)言尋找數(shù)組中心下標(biāo)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • go mod私有倉(cāng)庫(kù)配置小結(jié)

    go mod私有倉(cāng)庫(kù)配置小結(jié)

    Go語(yǔ)言私有倉(cāng)庫(kù)通常指的是那些不在公共倉(cāng)庫(kù)如GitHub上的倉(cāng)庫(kù),本文主要介紹了go mod私有倉(cāng)庫(kù)配置,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • golang string、int、int64 float 互相轉(zhuǎn)換方式

    golang string、int、int64 float 互相轉(zhuǎn)換方式

    這篇文章主要介紹了golang string、int、int64 float 互相轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Go語(yǔ)言中json序列化優(yōu)化技巧

    Go語(yǔ)言中json序列化優(yōu)化技巧

    在Go語(yǔ)言開(kāi)發(fā)中,JSON因其簡(jiǎn)潔和廣泛的兼容性,通常被用作數(shù)據(jù)交換的主要序列化格式,本文將探討JSON希望對(duì)大家有所幫助序列化的一些局限性,也算是一個(gè)小坑吧,并給出一些常用的解決方案,
    2024-11-11
  • Go語(yǔ)言算法之尋找數(shù)組第二大元素的方法

    Go語(yǔ)言算法之尋找數(shù)組第二大元素的方法

    這篇文章主要介紹了Go語(yǔ)言算法之尋找數(shù)組第二大元素的方法,以實(shí)例形式分析了不排序、只循環(huán)一次來(lái)實(shí)現(xiàn)尋找數(shù)組第二大元素的技巧,是比較典型的算法,需要的朋友可以參考下
    2015-02-02
  • Go分布式鏈路追蹤實(shí)戰(zhàn)探索

    Go分布式鏈路追蹤實(shí)戰(zhàn)探索

    這篇文章主要為大家介紹了Go分布式鏈路追蹤實(shí)戰(zhàn)示例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • golang封裝一個(gè)執(zhí)行命令行的函數(shù)(return?stderr/stdout/exitcode)示例代碼

    golang封裝一個(gè)執(zhí)行命令行的函數(shù)(return?stderr/stdout/exitcode)示例代碼

    在?Go?語(yǔ)言中,您可以使用?os/exec?包來(lái)執(zhí)行外部命令,不通過(guò)調(diào)用?shell,并且能夠獲得進(jìn)程的退出碼、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出,下面給大家分享golang封裝一個(gè)執(zhí)行命令行的函數(shù)(return?stderr/stdout/exitcode)的方法,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 在 Golang 中實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Http中間件過(guò)程詳解

    在 Golang 中實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Http中間件過(guò)程詳解

    本文在go web中簡(jiǎn)單的實(shí)現(xiàn)了中間件的機(jī)制,這樣帶來(lái)的好處也是顯而易見(jiàn)的,當(dāng)然社區(qū)也有一些成熟的 middleware 組件,包括 Gin 一些Web框架中也包含了 middleware 相關(guān)的功能,具體內(nèi)容詳情跟隨小編一起看看吧
    2021-07-07
  • Go 字符串格式化的實(shí)例代碼詳解

    Go 字符串格式化的實(shí)例代碼詳解

    這篇文章主要介紹了Go 字符串格式化的實(shí)例代碼詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Golang開(kāi)發(fā)gRPC服務(wù)入門(mén)介紹

    Golang開(kāi)發(fā)gRPC服務(wù)入門(mén)介紹

    這篇文章主要介紹了Golang開(kāi)發(fā)gRPC服務(wù),Golang開(kāi)發(fā)gRPC應(yīng)用程序的套路也已經(jīng)很清晰,這篇文章就來(lái)做一個(gè)簡(jiǎn)單的介紹,算是入門(mén),需要的朋友可以參考下
    2022-04-04
  • Mac GoLand打不開(kāi)(閃退)也不報(bào)錯(cuò)的解決方案

    Mac GoLand打不開(kāi)(閃退)也不報(bào)錯(cuò)的解決方案

    這篇文章主要介紹了Mac GoLand打不開(kāi)(閃退)也不報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04

最新評(píng)論

长岛县| 新建县| 金川县| 灌阳县| 镇赉县| 青神县| 乌海市| 嘉善县| 惠来县| 株洲县| 和静县| 永康市| 武宁县| 嵩明县| 夹江县| 亚东县| 和静县| 剑川县| 北流市| 汤阴县| 梁山县| 资源县| 天台县| 鄂尔多斯市| 防城港市| 永善县| 九寨沟县| 金秀| 涿州市| 精河县| 辰溪县| 龙岩市| 长治市| 武威市| 宣武区| 红桥区| 得荣县| 胶南市| 甘德县| 龙里县| 特克斯县|