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

Leetcode每日一題:2681. 英雄的力量(2023.8.1 C++)

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

目錄

2681. 英雄的力量

題目描述:

實(shí)現(xiàn)代碼與解析:

數(shù)學(xué)規(guī)律

原理思路:


2681. 英雄的力量

題目描述:

????????給你一個(gè)下標(biāo)從?0?開始的整數(shù)數(shù)組?nums?,它表示英雄的能力值。如果我們選出一部分英雄,這組英雄的?力量?定義為:

  • i0?,i1?,...?ik?表示這組英雄在數(shù)組中的下標(biāo)。那么這組英雄的力量為?max(nums[i0],nums[i1] ... nums[ik])2 * min(nums[i0],nums[i1] ... nums[ik])?。

請(qǐng)你返回所有可能的?非空?英雄組的?力量?之和。由于答案可能非常大,請(qǐng)你將結(jié)果對(duì)?109 + 7?取余。?

示例 1:

輸入:nums = [2,1,4]
輸出:141
解釋:
第 1?組:[2] 的力量為 2^2?* 2 = 8 。
第 2?組:[1] 的力量為 1^2 * 1 = 1 。
第 3?組:[4] 的力量為 4^2 * 4 = 64 。
第 4?組:[2,1] 的力量為 2^2 * 1 = 4 。
第 5 組:[2,4] 的力量為 4^2 * 2 = 32 。
第 6?組:[1,4] 的力量為 4^2 * 1 = 16 。
第? ??????7?組:[2,1,4] 的力量為 4^2 * 1 = 16 。
所有英雄組的力量之和為 8 + 1 + 64 + 4 + 32 + 16 + 16 = 141 。

示例 :

輸入:nums = [1,1,1]
輸出:7
解釋:總共有 7 個(gè)英雄組,每一組的力量都是 1 。所以所有英雄組的力量之和為 7 。

實(shí)現(xiàn)代碼與解析:

數(shù)學(xué)規(guī)律

class Solution {
public:
    int mod = 1e9 + 7;
    int sumOfPower(vector<int>& nums) {

        sort(nums.begin(), nums.end());
        long long res = 0, sum = 0;

        for (int i = 0; i < nums.size(); i++)
        {
            res = (res + (long long)nums[i] * (long long)nums[i] % mod * (nums[i] + sum)) % mod;
            sum = (sum * 2 + nums[i]) % mod; 
        }
        return res;
    }
};

原理思路:

? ? ? ? 分析題目,可以發(fā)現(xiàn),其實(shí)英雄能力值之和每個(gè)子集的最大值和最小值有關(guān),所有我們先sort排序,然后遍歷,讓其作為最大值,這是固定的,所以只要找出以 nums[ i ] 為最大值結(jié)尾的子集的最小值的和最大值的平方相乘就得出了此種情況的英雄力量的和,最后全加起來,就得到了答案。

? ? ? ? 所以關(guān)鍵的核心就時(shí)如何求出以 nums[ i ] 為最大值結(jié)尾的子集的最小值的和。

比如排序后{1, 2, 3,?4}, 當(dāng)遍歷到4時(shí),以其為最大值的子集有多少種?

? ? ? ? 當(dāng)選擇1為最小值時(shí),2可選可不選,3可選可不選,這樣就是2 * 2 = 4 個(gè),4 * (4 * 4)* 1就為一組力量值??梢园l(fā)現(xiàn)一組力量值是和元素的個(gè)數(shù)和最小值有關(guān)的。

? ? ? ? 那么我們可以總結(jié)出遞推式,之間算出一個(gè)最大值平方需要乘的總和為:sum(nums[i]?* 2 ^ 最小值與最大值中間的數(shù)字個(gè)數(shù)),i 從 0 到最大值下標(biāo)。

????????這樣就可以發(fā)現(xiàn)子集最小值總和明顯是可以根據(jù)前一個(gè)的子集最小值總和算出來的。規(guī)律如下:

Leetcode每日一題:2681. 英雄的力量(2023.8.1 C++),Leetcode,leetcode,c++,算法文章來源地址http://www.zghlxwxcb.cn/news/detail-639572.html

到了這里,關(guān)于Leetcode每日一題:2681. 英雄的力量(2023.8.1 C++)的文章就介紹完了。如果您還想了解更多內(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)文章

  • Leetcode每日一題:15. 三數(shù)之和(2023.7.9 C++)

    目錄 15. 三數(shù)之和 題目描述: 實(shí)現(xiàn)代碼與解析: 雙指針 原理思路: ????????給你一個(gè)整數(shù)數(shù)組? nums ?,判斷是否存在三元組? [nums[i], nums[j], nums[k]] ?滿足? i != j 、 i != k ?且? j != k ?,同時(shí)還滿足? nums[i] + nums[j] + nums[k] == 0 ?。請(qǐng) 你返回所有和為? 0 ?且不重復(fù)的三元組

    2024年02月13日
    瀏覽(22)
  • LeetCode每日一題:2594. 修車的最少時(shí)間(2023.9.7 C++)

    目錄 2594. 修車的最少時(shí)間 題目描述: 實(shí)現(xiàn)代碼與解析: 二分 原理思路: ????????給你一個(gè)整數(shù)數(shù)組? ranks ?,表示一些機(jī)械工的? 能力值 ?。 ranksi ?是第? i ?位機(jī)械工的能力值。能力值為? r ?的機(jī)械工可以在? r * n2 ?分鐘內(nèi)修好? n ?輛車。 同時(shí)給你一個(gè)整數(shù)? cars

    2024年02月09日
    瀏覽(30)
  • Leetcode每日一題:931. 下降路徑最小和(2023.7.13 C++)

    Leetcode每日一題:931. 下降路徑最小和(2023.7.13 C++)

    目錄 931.?下降路徑最小和 題目描述: 實(shí)現(xiàn)代碼與解析: 動(dòng)態(tài)規(guī)劃 原理思路: ????????給你一個(gè)? n x n ?的 ?方形? 整數(shù)數(shù)組? matrix ?,請(qǐng)你找出并返回通過? matrix ?的 下降路徑 ? 的 ? 最小和 ?。 下降路徑 ?可以從第一行中的任何元素開始,并從每一行中選擇一個(gè)元素

    2024年02月16日
    瀏覽(20)
  • LeetCode每日一題:1921. 消滅怪物的最大數(shù)量(2023.9.3 C++)

    目錄 1921. 消滅怪物的最大數(shù)量 題目描述: 實(shí)現(xiàn)代碼與解析: 貪心 原理思路: ????????你正在玩一款電子游戲,在游戲中你需要保護(hù)城市免受怪物侵襲。給你一個(gè)? 下標(biāo)從 0 開始 ?且長(zhǎng)度為? n ?的整數(shù)數(shù)組? dist ?,其中? dist[i] ?是第? i ?個(gè)怪物與城市的? 初始距離 (

    2024年02月10日
    瀏覽(20)
  • Leetcode每日一題:1444. 切披薩的方案數(shù)(2023.8.17 C++)

    Leetcode每日一題:1444. 切披薩的方案數(shù)(2023.8.17 C++)

    目錄 1444. 切披薩的方案數(shù) 題目描述: 實(shí)現(xiàn)代碼與解析: 二維后綴和? + 動(dòng)態(tài)規(guī)劃 原理思路: ????????給你一個(gè)? rows x cols ?大小的矩形披薩和一個(gè)整數(shù)? k ?,矩形包含兩種字符:? \\\'A\\\' ?(表示蘋果)和? \\\'.\\\' ?(表示空白格子)。你需要切披薩? k-1 ?次,得到? k ?塊披薩

    2024年02月12日
    瀏覽(22)
  • Leetcode每日一題:2337. 移動(dòng)片段得到字符串(2023.8.21 C++)

    目錄 2337. 移動(dòng)片段得到字符串 題目描述: 實(shí)現(xiàn)代碼與解析: 雙指針 原理思路: ????????給你兩個(gè)字符串? start ?和? target ?,長(zhǎng)度均為? n ?。每個(gè)字符串? 僅 ?由字符? \\\'L\\\' 、 \\\'R\\\' ?和? \\\'_\\\' ?組成,其中: 字符? \\\'L\\\' ?和? \\\'R\\\' ?表示片段,其中片段? \\\'L\\\' ?只有在其左側(cè)直接

    2024年02月11日
    瀏覽(16)
  • Leetcode每日一題:1782. 統(tǒng)計(jì)點(diǎn)對(duì)的數(shù)目(2023.8.24 C++)

    Leetcode每日一題:1782. 統(tǒng)計(jì)點(diǎn)對(duì)的數(shù)目(2023.8.24 C++)

    目錄 1782. 統(tǒng)計(jì)點(diǎn)對(duì)的數(shù)目 題目描述: 實(shí)現(xiàn)代碼與解析: hash + 雙指針 原理思路: ????????給你一個(gè)無向圖,無向圖由整數(shù)? n ??,表示圖中節(jié)點(diǎn)的數(shù)目,和? edges ?組成,其中? edges[i] = [ui, vi] ?表示? ui ?和? vi ?之間有一條無向邊。同時(shí)給你一個(gè)代表查詢的整數(shù)數(shù)組?

    2024年02月10日
    瀏覽(18)
  • Leetcode每日一題:1289. 下降路徑最小和 II(2023.8.10 C++)

    Leetcode每日一題:1289. 下降路徑最小和 II(2023.8.10 C++)

    目錄 1289. 下降路徑最小和 II 題目描述: 實(shí)現(xiàn)代碼與解析: 動(dòng)態(tài)規(guī)劃 原理思路: ????????給你一個(gè)? n x n ?整數(shù)矩陣? grid ?,請(qǐng)你返回? 非零偏移下降路徑 ?數(shù)字和的最小值。 非零偏移下降路徑 ?定義為:從? grid ?數(shù)組中的每一行選擇一個(gè)數(shù)字,且按順序選出來的數(shù)字

    2024年02月13日
    瀏覽(22)
  • Leetcode每日一題:1267. 統(tǒng)計(jì)參與通信的服務(wù)器(2023.8.24 C++)

    Leetcode每日一題:1267. 統(tǒng)計(jì)參與通信的服務(wù)器(2023.8.24 C++)

    目錄 1267. 統(tǒng)計(jì)參與通信的服務(wù)器 題目描述: 實(shí)現(xiàn)代碼與解析: 寫法一:兩次遍歷 + hash 原理思路: 寫法二:三次遍歷 原理思路: ????????這里有一幅服務(wù)器分布圖,服務(wù)器的位置標(biāo)識(shí)在? m * n ?的整數(shù)矩陣網(wǎng)格? grid ?中,1 表示單元格上有服務(wù)器,0 表示沒有。 如果兩

    2024年02月11日
    瀏覽(25)
  • LeetCode每日一題:1123. 最深葉節(jié)點(diǎn)的最近公共祖先(2023.9.6 C++)

    LeetCode每日一題:1123. 最深葉節(jié)點(diǎn)的最近公共祖先(2023.9.6 C++)

    目錄 1123. 最深葉節(jié)點(diǎn)的最近公共祖先 題目描述: 實(shí)現(xiàn)代碼與解析: dfs 原理思路: ????????給你一個(gè)有根節(jié)點(diǎn)? root ?的二叉樹,返回它? 最深的葉節(jié)點(diǎn)的最近公共祖先 ?。 回想一下: 葉節(jié)點(diǎn) ?是二叉樹中沒有子節(jié)點(diǎn)的節(jié)點(diǎn) 樹的根節(jié)點(diǎn)的? 深度? 為? 0 ,如果某一節(jié)點(diǎn)的

    2024年02月09日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包