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

LeetCode每日一題——813. 最大平均值和的分組

這篇具有很好參考價(jià)值的文章主要介紹了LeetCode每日一題——813. 最大平均值和的分組。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

LeetCode每日一題系列

題目:813. 最大平均值和的分組
難度:普通



題目

給定數(shù)組 nums 和一個(gè)整數(shù) k 。我們將給定的數(shù)組 nums 分成 最多 k 個(gè)相鄰的非空子數(shù)組 。 分?jǐn)?shù) 由每個(gè)子數(shù)組內(nèi)的平均值的總和構(gòu)成。

注意我們必須使用 nums 數(shù)組中的每一個(gè)數(shù)進(jìn)行分組,并且分?jǐn)?shù)不一定需要是整數(shù)。

返回我們所能得到的最大 分?jǐn)?shù) 是多少。答案誤差在 10-6 內(nèi)被視為是正確的。

示例

示例 1:

輸入: nums = [9,1,2,3,9], k = 3
輸出: 20.00000
解釋: nums 的最優(yōu)分組是[9], [1, 2,3], [9]. 得到的分?jǐn)?shù)是 9 + (1 + 2 + 3) / 3 + 9 = 20. 我們也可以把 nums 分成[9, 1], [2], [3, 9]. 這樣的分組得到的分?jǐn)?shù)為 5 + 2 + 6 = 13, 但不是最大值.

示例 2:

輸入: nums = [1,2,3,4,5,6,7], k = 4
輸出: 20.50000

提示:

1 <= nums.length <= 100
1 <= nums[i] <= 104
1 <= k <= nums.length

思路

動(dòng)態(tài)規(guī)劃:
首先可以證明的要想分組的平均值只和最大,那么組數(shù)一定為k
其次使用動(dòng)態(tài)規(guī)劃文章來源地址http://www.zghlxwxcb.cn/news/detail-635961.html

  • dp[i][j]表示分到nums[i]這個(gè)元素時(shí)分了j組的最大平均值之和
  • 狀態(tài)轉(zhuǎn)移方程分為兩種情況:
    1、當(dāng)j=1時(shí),dp[i][j]就為nums從0到i-1的平均值
    2、當(dāng)j>1時(shí),將區(qū)間分為[0, x-1],[x, i-1], 其中 x≥j?1,這時(shí)方程就變?yōu)?img src="https://imgs.yssmx.com/Uploads/2023/08/635961-1.png" alt="最大平均值和的分組,# 算法實(shí)例,leetcode,算法,數(shù)據(jù)結(jié)構(gòu),python,動(dòng)態(tài)規(guī)劃" referrerpolicy="no-referrer" />

題解

class Solution:
    def largestSumOfAverages(self, nums: List[int], k: int) -> float:
        n = len(nums)
        #記錄前綴數(shù)組便于j=1的情況求均值
        prefix = list(accumulate(nums, initial=0))
        dp = [[0.0] * (k + 1) for _ in range(n + 1)]
        # j=1
        for i in range(1, n + 1):
            dp[i][1] = prefix[i] / i
        # 狀態(tài)轉(zhuǎn)移
        for j in range(2, k + 1):
            for i in range(j, n + 1):
                for x in range(j - 1, i):
                    dp[i][j] = max(dp[i][j], dp[x][j - 1] + (prefix[i] - prefix[x]) / (i - x))
        return dp[n][k]

到了這里,關(guān)于LeetCode每日一題——813. 最大平均值和的分組的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Numpy中統(tǒng)計(jì)函數(shù)的講解:平均值、中位數(shù)、標(biāo)準(zhǔn)差、方差、最大最小值、求和、加權(quán)平均數(shù)

    Numpy中統(tǒng)計(jì)函數(shù)的講解:平均值、中位數(shù)、標(biāo)準(zhǔn)差、方差、最大最小值、求和、加權(quán)平均數(shù)

    目錄 統(tǒng)計(jì)函數(shù): Numpy 能方便地求出統(tǒng)計(jì)學(xué)常見的描述性統(tǒng)計(jì)量 一:Numpy中統(tǒng)計(jì)函數(shù)--平均值 求平均值 二:Numpy中統(tǒng)計(jì)函數(shù)--中位數(shù) 中位數(shù) np.median 平均數(shù)和中位數(shù)的區(qū)別 三:Numpy中統(tǒng)計(jì)函數(shù)--標(biāo)準(zhǔn)差 求標(biāo)準(zhǔn)差ndarray.std() 四:Numpy中統(tǒng)計(jì)函數(shù)--方差 求方差ndarray.var() 標(biāo)準(zhǔn)差和方差

    2024年02月06日
    瀏覽(115)
  • Java8用Stream流一行代碼實(shí)現(xiàn)數(shù)據(jù)分組統(tǒng)計(jì),排序,最大值、最小值、平均值、總數(shù)、合計(jì)

    Java8用Stream流一行代碼實(shí)現(xiàn)數(shù)據(jù)分組統(tǒng)計(jì),排序,最大值、最小值、平均值、總數(shù)、合計(jì)

    Java8對(duì)數(shù)據(jù)處理可謂十分流暢,既不改變數(shù)據(jù),又能對(duì)數(shù)據(jù)進(jìn)行很好的處理,今天給大家演示下,用Java8的Stream如何對(duì)數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì),排序,求和等 匯總統(tǒng)計(jì)方法 找到匯總統(tǒng)計(jì)的方法。這些方法屬于java 8的匯總統(tǒng)計(jì)類。 getAverage(): 它返回所有接受值的平均值。 getCount():

    2023年04月20日
    瀏覽(24)
  • DB SQL 轉(zhuǎn) ES DSL(支持多種數(shù)據(jù)庫(kù)常用查詢、統(tǒng)計(jì)、平均值、最大值、最小值、求和語(yǔ)法)...

    DB SQL 轉(zhuǎn) ES DSL(支持多種數(shù)據(jù)庫(kù)常用查詢、統(tǒng)計(jì)、平均值、最大值、最小值、求和語(yǔ)法)...

    1. 簡(jiǎn)介 ??日常開發(fā)中需要查詢 Elasticsearch 中的數(shù)據(jù)時(shí),一般會(huì)采用 RestHighLevelClient 高級(jí)客戶端封裝的API。項(xiàng)目中一般采用一種或多種關(guān)系型數(shù)據(jù)庫(kù)(如: Mysql 、 PostgreSQL 、 Oracle 等) + NoSQL(如: Elasticsearch )存儲(chǔ)方案;不同關(guān)系數(shù)據(jù)庫(kù)可以采用 Mybatis-Plus 方案屏蔽數(shù)據(jù)庫(kù)的方言

    2024年01月17日
    瀏覽(22)
  • 各種平均值:算術(shù)平均值,幾何平均值,調(diào)和平均值等

    各種平均值:算術(shù)平均值,幾何平均值,調(diào)和平均值等

    平均值概述 平均數(shù)反映了一組數(shù)據(jù)的一般水平,最常見的平均數(shù)是算術(shù)平均數(shù),除了算數(shù)平均數(shù)外,還有幾何平均數(shù),調(diào)和平均數(shù),加權(quán)平均數(shù)等。 算術(shù)平均值(Arithmetic Mean) 公式解讀:表示為所有項(xiàng)之和再除以總數(shù)。 應(yīng)用場(chǎng)景:算術(shù)平均值是我們生活中最常見的平均值,

    2024年02月11日
    瀏覽(34)
  • 【力扣每日一題】2023.8.8 任意子數(shù)組和的絕對(duì)值的最大值

    【力扣每日一題】2023.8.8 任意子數(shù)組和的絕對(duì)值的最大值

    目錄 題目: 示例: 分析: 代碼: 題目給我們一個(gè)數(shù)組,讓我們找出它的絕對(duì)值最大的子數(shù)組的和。 這邊的子數(shù)組是要求連續(xù)的,讓我們找出一個(gè)元素之和的絕對(duì)值最大的連續(xù)子數(shù)組。 要絕對(duì)值最大,那么就是兩種情況,最大的正數(shù)以及最小的負(fù)數(shù),所以我們可以兵分兩路

    2024年02月13日
    瀏覽(26)
  • 【2465. 不同的平均值數(shù)目】

    來源:力扣(LeetCode) 描述: 給你一個(gè)下標(biāo)從 0 開始長(zhǎng)度為 偶數(shù) 的整數(shù)數(shù)組 nums 。 只要 nums 不是 空數(shù)組,你就重復(fù)執(zhí)行以下步驟: 找到 nums 中的最小值,并刪除它。 找到 nums 中的最大值,并刪除它。 計(jì)算刪除兩數(shù)的平均值。 兩數(shù) a 和 b 的 平均值 為 (a + b) / 2 。 比方說,

    2024年02月07日
    瀏覽(27)
  • 計(jì)算 Python 列表的平均值

    計(jì)算 Python 列表的平均值 在 Python 中,我們可以使用多種方法計(jì)算列表的平均值。這里將介紹兩種常用的方法。 第一種方法是直接使用 Python 的內(nèi)置函數(shù) sum() 和 len() 。這兩個(gè)函數(shù)分別用于計(jì)算列表中所有元素的和,以及列表的長(zhǎng)度。我們可以使用這兩個(gè)函數(shù)來計(jì)算列表的平均

    2024年02月08日
    瀏覽(30)
  • 替換Excel偶數(shù)行為上下平均值

    169個(gè)直接轉(zhuǎn)換上下兩行轉(zhuǎn)換實(shí)現(xiàn)代碼 注: 如果原Excel表格中的行數(shù)為奇數(shù),那么輸出的新舊Excel文件的最后一行都會(huì)是None。而如果原Excel表格中的行數(shù)是偶數(shù)行,那么新Excel文件的最后一行就可以顯示出來(是我們把最后一行給復(fù)制來的)。 轉(zhuǎn)換前后數(shù)據(jù)(169-169)[結(jié)果] x y z x y z

    2024年04月15日
    瀏覽(30)
  • Verilog實(shí)現(xiàn)FPGA平均值計(jì)算

    Verilog實(shí)現(xiàn)FPGA平均值計(jì)算 在數(shù)字電路設(shè)計(jì)中,計(jì)算平均值是一個(gè)非?;A(chǔ)的操作。本文將通過Verilog語(yǔ)言來實(shí)現(xiàn)在FPGA中計(jì)算一個(gè)數(shù)據(jù)流的平均值。 首先,我們需要定義一個(gè)計(jì)數(shù)器和一個(gè)累加器來分別記錄輸入數(shù)據(jù)流的總數(shù)和總和。這里我們使用32位的寄存器作為計(jì)數(shù)器和累加

    2024年02月03日
    瀏覽(195)
  • python 求平均值(含代碼示例)

    示例示例Python 求平均值的方法有很多種,下面以求列表中元素的平均值為例,提供代碼示例。使用內(nèi)置函數(shù)sum()和len(): Python 求平均值的方法有很多種,下面以求列表中元素的平均值為例,提供代碼示例。 1. 使用內(nèi)置函數(shù)sum()和len(): 2. 使用內(nèi)置函數(shù)statistics.mean(): 3. 使用

    2024年02月06日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包