【數據結構-堆】2233. K 次增加后的最大乘積

給你一個非負整數數組 nums 和一個整數 k 。每次操作,你可以選擇 nums 中 任一 元素并將它 增加 1 。

請你返回 至多 k 次操作后,能得到的 nums的 最大乘積 。由于答案可能很大,請你將答案對 109 + 7 取余后返回。

示例 1:
輸入:nums = [0,4], k = 5
輸出:20
解釋:將第一個數增加 5 次。
得到 nums = [5, 4] ,乘積為 5 * 4 = 20 。
可以證明 20 是能得到的最大乘積,所以我們返回 20 。
存在其他增加 nums 的方法,也能得到最大乘積。

示例 2:
輸入:nums = [6,3,3,2], k = 2
輸出:216
解釋:將第二個數增加 1 次,將第四個數增加 1 次。
得到 nums = [6, 4, 3, 3] ,乘積為 6 * 4 * 3 * 3 = 216 。
可以證明 216 是能得到的最大乘積,所以我們返回 216 。
存在其他增加 nums 的方法,也能得到最大乘積。

class Solution {
public:int maximumProduct(vector<int>& nums, int k) {int MOD = 1e9 + 7;priority_queue<int, vector<int>, greater<int>> q(nums.begin(), nums.end());for(int i = 0; i < k; i++){int a = q.top();q.pop();a++;q.push(a);}int ans = 1;while(!q.empty()){ans = (long long)ans * q.top() % MOD;q.pop();}return ans;}
};

這道題我們要找進行k次操作后的最大乘積是多少,那么我們結合貪心的思路,我們可以知道在和一樣的情況下,所有的元素越平均,最后乘積會越大。

那么也就是說我們每次進行+1操作,要對最小的元素操作,我們就可以使用小根堆來找出每一輪最小的元素,然后進行操作。

然后我們用一個變量ans記錄乘積的值,將q的所有元素進行相乘記錄到ans中,最后返回ans即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/65493.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65493.shtml
英文地址,請注明出處:http://en.pswp.cn/web/65493.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025.1.8(c++對c語言的擴充——堆區空間,引用,函數)

筆記 上一筆記接續&#xff08;練習2的答案&#xff09; 練習&#xff1a;要求在堆區連續申請5個int的大小空間用于存儲5名學生的成績&#xff0c;分別完成空間的申請、成績的錄入、升序排序、成績輸出函數以及空間釋放函數&#xff0c;并在主程序中完成測試 要求使用new和d…

(長期更新)《零基礎入門 ArcGIS(ArcScene) 》實驗七----城市三維建模與分析(超超超詳細!!!)

城市三維建模與分析 三維城市模型已經成為一種非常普遍的地理空間數據資源,成為城市的必需品,對城市能化管理至關重要。語義信息豐富的三維城市模型可以有效實現不同領域數據與IS相信息的高層次集成及互操作,從而在城市規劃、環境模擬、應急響應和輔助決策等眾多領域公揮作用、…

在離線環境中安裝 `.rpm` 包的步驟

在一些環境中&#xff0c;可能無法直接通過網絡安裝軟件包。特別是在沒有互聯網連接的情況下&#xff0c;我們仍然可以手動下載 .rpm 安裝包并進行離線安裝。本文將介紹如何在離線環境中安裝多個 .rpm 包&#xff0c;確保軟件的順利安裝和依賴關系的處理。 1. 將 .rpm 文件復制…

【人工智能開題報告】

人工智能開題報告 第一步 12 篇文獻 應用&#xff08;研究&#xff09;領域歷史、現狀、發展趨勢以及對社會、環境、健康、安全等方面的影響分析第二步 15篇 應用&#xff08;研究&#xff09;領域中的 工作成果簡述2.1 國外 6篇2.2 國內 9篇 第三步 9/10篇 研究方案 的分析與選…

Harmony開發【筆記1】報錯解決(字段名寫錯了。。)

在利用axios從網絡接收請求時&#xff0c;發現返回obj的code為“-1”&#xff0c;非常不解&#xff0c;利用console.log測試&#xff0c;更加不解&#xff0c;可知拋出錯誤是 “ E 其他錯誤: userName required”。但是我在測試時&#xff0c;它并沒有體現為空&#xff0c;…

(2023|NIPS,LLaVA-Med,生物醫學 VLM,GPT-4 生成自指導指令跟隨數據集,數據對齊,指令調優)

LLaVA-Med: Training a Large Language-and-Vision Assistant for Biomedicine in One Day 目錄 LLaVA-Med: Training a Large Language-and-Vision Assistant for Biomedicine in One Day 0. 摘要 1. 簡介 2. 相關工作 3. 生物醫學視覺指令數據 4. 將多模態對話模型適配…

什么是網絡安全攻防演練,即紅藍對抗?

定義與目的 定義&#xff1a;網絡安全攻防演練是一種模擬真實網絡攻擊和防御場景的活動&#xff0c;通過組織專業的攻擊隊伍&#xff08;紅隊&#xff09;和防御隊伍&#xff08;藍隊&#xff09;進行對抗&#xff0c;來檢驗和提升組織的網絡安全防御能力、應急響應能力和安全運…

(概率論)無偏估計

參考文章&#xff1a;(15 封私信 / 51 條消息) 什么是無偏估計&#xff1f; - 知乎 (zhihu.com) 首先&#xff0c;第一個回答中&#xff0c;馬同學圖解數學講解得很形象&#xff0c; 我的概括是&#xff1a;“注意&#xff0c;有一個總體的均值u。然后&#xff0c;如果抽樣n個&…

國產游戲崛起,燕云十六移動端1.9上線,ToDesk云電腦先開玩

游戲愛好者的利好消息出新了&#xff01;網易大型武俠仙游《燕云十六聲》正式官宣&#xff0c;移動端要在1月9日正式上線了&#xff01;你期待手游版的燕云嗎&#xff1f;不妨評論區留言說說你的看法。小編分別花了幾個小時在臺式機電腦和手機上都試了下&#xff0c;欣賞畫面還…

一文大白話講清楚ES6代理Proxy和反射Reflect

文章目錄 一文大白話講清楚ES6代理Proxy和反射Reflect1. 你當過老板么2.代理Proxy2.1 get(target,propKey,receiver)//獲取對象的屬性2.2 set(target,propKey,newValue,receiver)//設置屬性的值2.3 has(target,propKey)//代理查詢屬性操作&#xff0c;propKey in obj的操作2.4 …

VS2022引入sqlite數據庫交互

法一&#xff1a;用官網編譯好的動態庫(推薦) 下載所需文件 sqlite官網地址&#xff1a;https://www.sqlite.org/howtocompile.html 下載以下的2個壓縮包 第一個壓縮包 sqlite-amalgamation-xxxx.zip&#xff0c;xxxx是版本號,保持一致即可&#xff0c;這里面有sqite3.h 第…

Java后端常用的4種請求方式(通俗易懂)

文章目錄 前言通用接口類(ControllerDemo)通用實體類(UserEntity)通用響應類(HttpClientResult)成功截圖(先啟動項目,然后右鍵執行main方法) HttpClientHttpClient 的主要類代碼案例導入依賴工具類(HttpClientUtil)測試類 HttpURLConnection簡介調用步驟代碼案例導入依賴工具類…

STM32燒寫失敗之Contents mismatch at: 0800005CH (Flash=FFH Required=29H) !

一&#xff09;問題&#xff1a;用ULINK2給STM32F103C8T6下載程序&#xff0c;下載方式設置如下&#xff1a; 出現下面兩個問題&#xff1a; 1&#xff09;下載問題界面如下&#xff1a; 這個錯誤的信息大概可以理解為&#xff0c;在0x08000063地址上讀取到flash存儲為FF&am…

Dynamic-Datasource 文檔

dynamic-datasource-spring-boot-starter是一個基于springboot的快速集成多數據源的啟動器。 特性 支持數據源分組&#xff0c;適用于多種場景&#xff0c;純粹多庫、讀寫分離、一主多從、混合模式。支持數據庫敏感配置信息加密(可自定義)ENC()。支持每個數據庫獨立初始化表結…

P10424 [藍橋杯 2024 省 B] 好數

題目描述 一個整數如果按從低位到高位的順序&#xff0c;奇數位&#xff08;個位、百位、萬位……&#xff09;上的數字是奇數&#xff0c;偶數位&#xff08;十位、千位、十萬位……&#xff09;上的數字是偶數&#xff0c;我們就稱之為“好數”。 給定一個正整數 N&#xf…

Spring Boot教程之五十二:CrudRepository 和 JpaRepository 之間的區別

Spring Boot – CrudRepository 和 JpaRepository 之間的區別 Spring Boot建立在 Spring 之上&#xff0c;包含 Spring 的所有功能。由于其快速的生產就緒環境&#xff0c;使開發人員能夠直接專注于邏輯&#xff0c;而不必費力配置和設置&#xff0c;因此如今它正成為開發人員…

LLM的MoE由什么構成:門控網絡,專家網絡

LLM的MoE由什么構成:門控網絡,專家網絡 目錄 LLM的MoE由什么構成:門控網絡,專家網絡專家網絡門控網絡MoE在聯邦學習中的使用及原理專家網絡 定義與特點:是一組獨立的模型,每個模型都負責處理某個特定的子任務或學習輸入空間的特定部分。這些專家可以是簡單的線性回歸模型…

DeepSeek-V3與GPT-4o的對比詳解

DeepSeek-V3&#xff0c;作為一款引人注目的開源大型語言模型&#xff0c;自其誕生以來&#xff0c;便以卓越的性能和高效的性價比&#xff0c;在AI界掀起了一股新的浪潮。本文將詳細介紹DeepSeek-V3的誕生背景、技術優勢&#xff0c;以及與頂尖閉源模型GPT-4o的對比&#xff0…

Mysql 性能優化:覆蓋索引

概述 覆蓋索引&#xff08;Covering Index&#xff09;是一個 MySQL 查詢優化技術&#xff0c;它指的是一個索引包含了查詢所需的所有字段的數據&#xff0c;因此不需要回表&#xff08;訪問數據表的行&#xff09;就可以完成查詢。使用覆蓋索引可以顯著提高查詢性能&#xff…

python注意事項:range遍歷越索引現象、列表邊遍歷邊修改出現的問題

文章目錄 前言一、range遍歷越索引現象QS1:遍歷range(2,2)會發生什么&#xff1f;不會報錯&#xff0c;但是也不會遍歷到任何內容QS1:遍歷range(3,2)會發生什么&#xff1f;不會報錯&#xff0c;但是也不會遍歷到任何內容 二、列表邊遍歷邊修改注意事項&#xff08;Java的List系…