leetcode 494. 目標和

2023.8.14

????????一杯茶,一包煙,一道dp做一天...

? ? ? ? ps:nums[i]均大于等于0。本題先轉化為0-1背包問題:將數組元素分成兩堆:一堆為正號,另一堆為負號。設正號堆的和為x,則負號堆的和為sum-x。(sum為數組元素總和)。? ? ? ? ? ? ? ?于是:x-(sum-x) =target ,可以推出 x = (target+sum)/2 。x必須為偶數,為奇數直接返回0。

? ? ? ? 于是此時背包的大小相當于x,物品為數組nums。 dp[i]的含義為:裝滿大小為 i 的背包的 方法種數。? 具體代碼如下:

class Solution {
public:int findTargetSumWays(vector<int>& nums, int target) {int sum = 0;for(int i=0; i<nums.size(); i++){sum += nums[i];}if((sum + target) % 2 == 1) return 0;int capacity = (sum + target)/2;if(capacity < 0) return 0;vector<int> dp(capacity + 1);dp[0] = 1;for(int i=0; i<nums.size(); i++){for(int j=capacity; j>=nums[i]; j--){//第一項是不使用nums[i]時裝滿背包的方法種數,第二項是使用nums[i]時裝滿背包的方法種數。dp[j] = dp[j] + dp[j - nums[i]];}}return dp[capacity];}
};

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

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

相關文章

CentOS系統環境搭建(十)——CentOS7定時任務

centos系統環境搭建專欄&#x1f517;點擊跳轉 使用CentOS系統環境搭建&#xff08;九&#xff09;——centos系統下使用docker部署項目的項目做定時任務。 CentOS7定時任務 查看現有的定時任務 crontab -l編輯定時任務 crontab -e示例 每天凌晨兩點運行腳本 清理內存 0 2 *…

【Linux的開胃小菜】常用的RPM軟件包與YUM倉庫包管理器使用

一、系統初始化進程 systemd與System V init的區別以及作用&#xff1a; System V init運行級別systemd目標名稱systemd目標作用0poweroff.target關機1rescue.target單用戶模式2multi-user.target多用戶的文本界面3multi-user.target多用戶的文本界面4multi-user.target多用戶…

【SpringBoot】88、SpringBoot中使用Undertow替代Tomcat容器

SpringBoot 中我們既可以使用 Tomcat 作為 Http 服務,也可以用 Undertow 來代替。Undertow 在高并發業務場景中,性能優于 Tomcat。所以,如果我們的系統是高并發請求,不妨使用一下 Undertow,你會發現你的系統性能會得到很大的提升。 1、Tomcat 介紹 Tomcat是一個開源的Ja…

【數據結構】“單鏈表”的練習題(二)

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;個人主頁 &#xff1a;阿然成長日記 …

Django框架 靚號管理(增刪改查)

Django框架 靚號管理&#xff08;增刪改查&#xff09; 新建一個項目 backend 使用pycharm創建app startapp app項目目錄 C:\code\backend ├── app | ├── admin.py | ├── apps.py | ├── migrations | ├── models.py | ├── tests.py | ├── views.…

關于微信臨時文件wxfile://tmp文件如何處理,微信小程序最新獲取頭像和昵稱

分享-2023年資深前端進階&#xff1a;前端登頂之巔-最全面的前端知識點梳理總結&#xff0c;前端之巔 *分享一個使用比較久的&#x1fa9c; 技術棧&#xff1a;taro框架 vue3版本 解決在微信小程序獲取微信頭像時控制臺報錯&#xff1a;找不著wxfile://tmp 文件路徑,失敗&…

java spring cloud 企業電子招標采購系統源碼:營造全面規范安全的電子招投標環境,促進招投標市場健康可持續發展 tbms

? 項目說明 隨著公司的快速發展&#xff0c;企業人員和經營規模不斷壯大&#xff0c;公司對內部招采管理的提升提出了更高的要求。在企業里建立一個公平、公開、公正的采購環境&#xff0c;最大限度控制采購成本至關重要。符合國家電子招投標法律法規及相關規范&#xff0c;以…

支持M1 Syncovery for mac 文件備份同步工具

Syncovery for Mac 是一款功能強大、易于使用的文件備份和同步軟件&#xff0c;適用于需要備份和同步數據的個人用戶和企業用戶。Syncovery 提供了一個直觀的用戶界面&#xff0c;使用戶可以輕松設置備份和同步任務。用戶可以選擇備份的文件類型、備份目錄、備份頻率等&#xf…

解讀2023年上半年財報:營收凈利雙增長,珀萊雅離高端還有多遠?

夏季炎熱&#xff0c;防曬類產品的銷量暴漲。根據千牛數據&#xff0c;防曬衣今年5月全網搜索人數同比增長15%&#xff0c;加購人數同比增長29.8%&#xff0c;訪問人數同比增加42%。消費者狂熱的防曬需求&#xff0c;孕育著巨大的商機&#xff0c;許多企業開始瞄準這一機會。而…

在Windows和MacOS環境下實現批量doc轉docx,xls轉xlsx

一、引言 Python中批量進行辦公文檔轉化是常見的操作&#xff0c;在windows狀態下我們可以利用changeOffice這個模塊很快進行批量操作。 二、在Windows環境下的解決文案 Windows環境下&#xff0c;如何把doc轉化為docx&#xff0c;xls轉化為xlsx&#xff1f; 首先&#xff…

mysql三大日志—— 二進制日志binlog

binlog用于記錄數據庫執行的寫入性操作&#xff0c;由服務層進行記錄&#xff0c;通過追加的方式以二進制的形式保存在磁盤中。 binlog主要用于主從復制和數據恢復。 主從復制&#xff1a;在主機端開啟binlog&#xff0c;然后將binlog發送到各個從機&#xff0c;從機存放binl…

sykwalking8.2和mysql5.7快速部署

1.SkyWalking 是什么&#xff1f; 分布式系統的應用程序性能監視工具&#xff0c;專為微服務、云原生架構和基于容器&#xff08;Docker、K8s、Mesos&#xff09;架構而設計。 提供分布式追蹤、服務網格遙測分析、度量聚合和可視化一體化解決方案。 2.SkyWalking 有哪些功能…

Spring Task入門案例

Spring Task 是Spring框架提供的任務調度工具&#xff0c;可以按照約定的時間自動執行某個代碼邏輯。 定位&#xff1a;定時任務框架 作用&#xff1a;定時自動執行某段Java代碼 強調&#xff1a;只要是需要定時處理的場景都可以使用Spring Task 1. cron表達式 cron表達式…

Java多線程線程間的通信—wait及notify方法

線程間的相互作用 線程間的相互作用:線程之間需要一些協調通信,來共同完成一件任務。 Object類中相關的方法有兩個notify方法和三個wait方法: Object (Java Platform SE 7 ) 因為wait和notify方法定義在Object類中,因此會被所有的類所繼承。 這些方法都是final的,即它們…

樹形dp模板

285. 沒有上司的舞會 - AcWing題庫 #include<iostream> #include<cstdio> #include<cstdlib> #include<string> #include<cstring> #include<cmath> #include<ctime> #include<algorithm> #include<utility> #include&…

Visual Studio 與QT ui文件

對.ui文件鼠標右鍵&#xff0c;然后單擊 Open with…在彈出的窗口中&#xff0c;選中左側的 Qt Designer&#xff0c;然后單擊右側的 Add 按鈕&#xff0c;隨后會彈出一個窗口&#xff0c;在 Program: 輸入框中輸入 Qt Designer 的路徑&#xff0c;最后單擊 OK找到 Qt Designer…

內網ip與外網ip

一、關于IP地址 我們平時直接接觸最多的是內網IP。而且還可以自己手動修改ip地址。而外網ip&#xff0c;我們很少直接接觸&#xff0c;都是間接接觸、因為外網ip一般都是運營商管理&#xff0c;而且是全球唯一的&#xff0c;一般我們自己是無法修改的。 內網IP和外網IP是指在…

突破大模型 | Alluxio助力AI大模型訓練-成功案例(一)

更多詳細內容可見《Alluxio助力AI大模型訓練制勝寶典》 【案例一&#xff1a;知乎】多云緩存在知乎的探索:從UnionStore到Alluxio 作者&#xff1a;胡夢宇-知乎大數據基礎架構開發工程師&#xff08;內容轉載自InfoQ&#xff09; 一、背景 隨著云原生技術的飛速發展&#xff…

零基礎看懂免費開源的Stable Diffusion

文章目錄 前言Diffusion模型推理過程訓練過程 Stable Diffusion模型參考 前言 前面一篇文章主要講了擴散模型的理論基礎&#xff0c;還沒看過上篇的小伙伴可以點擊查看&#xff1a;DDPM理論基礎。這篇我們主要講一下一經推出&#xff0c;就火爆全網的Stable Diffusion模型。St…

django中使用ajax發送請求

1、ajax簡單介紹 瀏覽器向網站發送請求時 是以URL和表單的形式提交的post 或get 請求&#xff0c;特點是&#xff1a;頁面刷新 除此之外&#xff0c;也可以基于ajax向后臺發送請求&#xff08;異步&#xff09; 依賴jQuery 編寫ajax代碼 $.ajax({url: "發送的地址"…