leetcode 1049.最后一塊石頭的重量II

思路:01背包

其實這道題我們可以轉化一下,乍一看有點像區間dp,很像區間合并那種類型。

但是,后來發現,這道題的精髓在于你如何轉成背包問題。我們可以把這個石頭分成兩堆,然后求出來這兩堆的最小差值就行了,得到的就是我們的最后的剩余石頭。

比較靈活,有點很難想的感覺,這才是背包問題的難點,如何轉化是挺重要的一點。

那么,就先把總和求出來,然后分成兩堆,對于總和的一半作為容量,價值就是石頭的重量。

class Solution {
public:int lastStoneWeightII(vector<int>& stones) {int sum=accumulate(stones.begin(),stones.end(),0LL);int v=sum/2;vector<int>dp(v+1,0);for(int i=0;i<stones.size();i++){for(int j=v;j>=stones[i];j--){dp[j]=max(dp[j],dp[j-stones[i]]+stones[i]);}}return sum-2*dp[v];}
};

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

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

相關文章

使用git生成SSH公鑰,并設置SSH公鑰

1、在git命令行里輸入以下命令 ssh-keygen -t rsa 2、按回車&#xff0c;然后會看到以下字眼 Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/xxx/.ssh/id_rsa) 例&#xff1a; 3、繼續回車&#xff0c;然后會看到以下字眼 Enter…

【面試干貨】數據庫樂觀鎖,悲觀鎖的區別,怎么實現

【面試干貨】數據庫樂觀鎖&#xff0c;悲觀鎖的區別&#xff0c;怎么實現 1、樂觀鎖&#xff0c;悲觀鎖的區別2、總結 &#x1f496;The Begin&#x1f496;點點關注&#xff0c;收藏不迷路&#x1f496; 1、樂觀鎖&#xff0c;悲觀鎖的區別 悲觀鎖&#xff08;Pessimistic Lo…

web前端框架設計第十課-組件

web前端框架設計第十課-組件 一.預習筆記 組件&#xff1a;Vue最強大的功能之一 1.局部組件注冊 注意事項&#xff1a;template標簽中只能有一個根元素 2.全局組件的注冊 注意事項&#xff1a;組件名的大小寫需要注意&#xff08;實踐&#xff09; 3.案例&#xff08;查詢框…

Vivado 使用教程(個人總結)

Vivado 是 Xilinx 公司推出的一款用于 FPGA 設計的集成開發環境 (IDE)&#xff0c;提供了從設計輸入到實現、驗證、調試和下載的完整流程。本文將詳細介紹 Vivado 的使用方法&#xff0c;包括項目創建、設計輸入、約束文件、綜合與實現、仿真、調試、下載配置等步驟。 一、創建…

設計模式--責任鏈模式

責任鏈模式是一種行為設計模式&#xff0c;它允許將請求沿著處理者鏈進行發送。請求會沿鏈傳遞&#xff0c;直到某個處理者對象負責處理它。這種模式在許多應用場景中非常有用&#xff0c;例如在處理用戶輸入、過濾請求以及實現多級審核時。 應用場景 處理用戶輸入&#xff1…

kafka之consumer參數auto.offset.reset

Kafka的auto.offset.reset 參數是用于指定消費者在啟動時如何處理偏移量&#xff08;offset&#xff09;的。這個參數有三個主要的取值&#xff1a;earliest、latest和none。 earliest&#xff1a; 當各分區下有已提交的offset時&#xff0c;從提交的offset開始消費&#xff1b…

HCIP-VLAN綜合實驗

一、實驗拓撲 二、實驗要求 1、pc1和pc3所在接口為access;屬于vlan 2; PC2/PC4/PC5/PC6處于同一網段’其中PC2可以訪問PC4/PC5/PC6; PC4可以訪問PC6&#xff1b;PC5不能訪問PC6&#xff1b; 2、PC1/PC3與PC2/PC4/PC5/PC6不在同一個網段&#xff1b; 3、所有PC通過DHCP獲取IP…

棧和隊列的應用-計算器實例

‘’‘ &#xff08;11 3&#xff09; 2 -5 順序存儲棧來實現 ’‘’ sqstack.h #ifndef SQSTACK_H__ #define SQSTACK_H__ #define MAXSIZE 32 typedef int datatype typedef struct node_st {datatype data[MAXSIZE]; int top;}sqstack;sqstack *st_create(void); int s…

閑話 .NET(5):.NET Core 有什么優勢?

前言 .NET Core 并不是 .NET FrameWork 的升級版&#xff0c;它是一個為滿足新一代的軟件設計要求而從頭重新開發的開發框架和平臺&#xff0c;所以它沒有 .NET FrameWork 的歷史包袱&#xff0c;相對于 .NET FrameWork&#xff0c;它具備很多優勢。 .NET Core 有哪些優勢&am…

智算中心帶寬漫談 -- 開篇

隱秘的角落 帶寬對高性能計算是一個永恒的話題&#xff0c;本質上&#xff0c;帶寬即數據交換的速率&#xff0c;單位時間的傳輸數據越多&#xff0c;帶寬就越高&#xff0c;但對高性能計算來說&#xff0c;對高帶寬的渴求永無止境&#xff0c;好比宏觀現實世界中的車道&#…

QT實現線程的四種方式(QThread、QRunnable和QThreadPool、QObject、QtConcurrent)

在當今高性能計算需求日益增長的背景下,多線程編程已成為提升應用性能的重要手段。Qt框架,作為一個功能全面、跨平臺的C++應用程序開發工具包,為我們提供了多種多線程實現方案。本文將介紹QThread類在Qt多線程編程中的應用,以及如何通過QRunnable和QThreadPool、QObject的m…

C# GDI+ 繪制文字不同的操作系統渲染文字大小不同

一、C# GDI 繪制文字不同的操作系統渲染文字大小不同 原因&#xff1a;使用Font 字體的時候&#xff0c;沒有指定字體渲染的單位。 不同系統的默認字體單位會不同。 二、解決方案&#xff1a; 在指定字體的時候&#xff0c;指定字體大小&#xff0c;同時也要設置字體的單位 …

sqlserver 創建表,列及表,列描述

-- 創建表 CREATE TABLE Employees (EmployeeID INT PRIMARY KEY,EmployeeName NVARCHAR(100),EmployeeEmail NVARCHAR(100) );-- 為表添加描述 EXEC sp_addextendedproperty name NMS_Description, value N員工信息表, level0type NSchema, level0name dbo, level1type N…

springboot整合kkFileView部署,前端使用

前言&#xff1a; 官方文檔&#xff1a;https://kkfileview.keking.cn/zh-cn/docs/production.html docker方式或加入星球獲取發行包直接獲取啟動&#xff0c;無需以下步驟&#xff1a; 拉取鏡像# 網絡環境方便訪問docker中央倉庫 docker pull keking/kkfileview:4.1.0# 網…

pytest框架的代碼如何用vscode進行debug

{"version": "0.2.0","configurations": [{"name": "Python: Run My Module", // 配置名稱&#xff0c;將在調試配置下拉列表中顯示"type": "debugpy", // 調試類型&#xff0c;這里是Python"requ…

二元關系表示

一、二元關系的定義和表示 什么是二元關系&#xff1f;對集合A和B&#xff0c;A\timesB的任意子集R為A到B的一個二元關系。當AB時&#xff0c;A\timesA的任一子集R稱為A上的一個二元關系。在不引起誤解的情況下&#xff0c;二元關系可簡稱關系。 若|A|m,|B|n&#xff0c;則A到…

常用字體映射字典

表格形式 英文字體名稱中文字體名稱SimSun宋體SimHei黑體KaiTi楷體FangSong仿宋YouYuan幼圓LiSu隸書NSimSun新宋體SimSun-ExtB宋體-ExtBFangSong_GB2312仿宋_GB2312KaiTi_GB2312楷體_GB2312Microsoft YaHei微軟雅黑Microsoft JhengHei微軟正黑體STXihei華文細黑STKaiti華文楷體…

手機版AI寫作軟件哪個好用?5款AI寫作軟件分享

在這個快節湊的時代&#xff0c;人們對于高效、便捷的創作方式很是追求。尤其是在人工智能技術發展迅速的今天&#xff0c;AI寫作軟件的出現&#xff0c;讓很多自媒體創作者都會想到在手機上面進內容創作&#xff0c;這樣不僅能提高工作效率&#xff0c;而且工作的自由度會更高…

自動化運維(AIOps): 現代IT管理的革命

在數字化時代&#xff0c;企業的 IT 系統變得愈加復雜。從云計算到大數據&#xff0c;從物聯網到人工智能&#xff0c;技術的飛速發展使得企業面臨前所未有的挑戰。這種復雜性不僅體現在數據量和數據流的增加上&#xff0c;還包括高成本和高錯誤率的運維需求。在此背景下&#…

基于51單片機的盆栽自動澆花系統

一.硬件方案 工作原理是濕度傳感器將采集到的數據直接傳送到ADC0832的IN端作為輸入的模擬信號。選用濕度傳感器和AD轉換&#xff0c;電路內部包含有濕度采集、AD轉換、單片機譯碼顯示等功能。單片機需要采集數據時&#xff0c;發出指令啟動A/D轉換器工作&#xff0c;ADC0832根…