- class Solution {
- public:
- int lastStoneWeightII(vector<int>& stones) {
- int total=0;
- for(auto it:stones) total+=it;
- int target=total/2;
- vector<int>dp(total+1,0);
- for(int i=0;i
size();++i){ - for(int j=target;j>=stones[i];--j){
- dp[j]=max(dp[j],dp[j-stones[i]]+stones[i]);
-
- }
- }
- return total-2*dp[target];
-
- }
- };
- class Solution {
- public:
- int findTargetSumWays(vector<int>& nums, int target) {
- int total=0;
- for(auto it:nums) total+=it;
- if(abs(target)>total) return 0;
- if((target+total)%2==1) return 0;//如果为奇数,说明add无法取整,无法得出结果
- int add=(target+total)/2;
- vector<int>dp(add+1,0);
- dp[0]=1;
- for(int i=0;i
size();i++){ - for(int j=add;j>=nums[i];--j){
- dp[j]+=dp[j-nums[i]];
- }
- }
- return dp[add];
- }
- };
- class Solution {
- public:
- int findMaxForm(vector
& strs, int m, int n) { - vector
int>>dp(m+1,vector<int>(n+1,0)); - for(int i=0;i
size();i++){ - int oneNum=0,zeroNum=0;
- for(char it:strs[i]){//记录当前字符0和1的数量
- if(it=='0') zeroNum++;
- else oneNum++;
- }
-
- for(int j=m;j>=zeroNum;--j){//二维装填
- for(int k=n;k>=oneNum;--k){
- dp[j][k]=max(dp[j][k],dp[j-zeroNum][k-oneNum]+1);
- }
- }
- }
- return dp[m][n];
-
- }
- };
- class Solution {
- public:
- int change(int amount, vector<int>& coins) {
- int n=coins.size();
- vector<int>dp(amount+1);
- dp[0]=1;
- for(int i=0;i
- for(int j=coins[i];j<=amount;j++){
- cout<
- dp[j]+=dp[j-coins[i]];
- }
- }
- return dp[amount];
-
- }
- };
377.组合总和IV(微微坐牢啊)
思路:
- 1.dp存储:和为 j 时,组成这个和的种数为 dp[j]
- 2.dp[j]+=dp[j-nums[i]];
- 3.初始化:dp[0]=1
- 4.遍历顺序:外层遍历容量 内层遍历元素
本题需要的是排列:所以先遍历容量(背包)
- class Solution {
- public:
- int combinationSum4(vector<int>& nums, int target) {
- vector<int>dp(target+1,0);
- dp[0]=1;
- for(int i=0;i<=target;i++){
- for(int j=0;j
size();j++){ - if(i-nums[j]>=0 && dp[i]<=INT_MAX-dp[i-nums[j]])
- dp[i]+=dp[i-nums[j]];
- }
- }
- return dp[target];
- }
- };
-
相关阅读:
【计算机毕设选题】计算机毕业设计选题推荐
大数据-Storm流式框架(一)
debian/ubuntu 编译安装nginx php
使用awescnb自定义博客园皮肤
【推理框架】MNN框架 C++、Python、Java使用例子 Demo
GleamTech FileUltimate 8 Crack
『手撕Vue-CLI』添加自定义指令
如何使用 Vue3 实现文章目录功能
#日常问题记--Selenium Chrome截取整个页面的图片的办法
日记:WinUI3打包成.msix
-
原文地址:https://blog.csdn.net/Ricardo_XIAOHAO/article/details/132707400