@ 代码随想录算法训练营第7周(C语言)|Day42(动态规划)

@ 代码随想录算法训练营第7周(C语言)|Day42(动态规划)

Day42、动态规划(包含题目 416. 分割等和子集 )

416. 分割等和子集

题目描述

给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。

注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200

题目解答

c 复制代码
bool canPartition(int* nums, int numsSize){
    int target;
    int sum;
    sum=0;
    for(int i=0;i<numsSize;i++){
        sum+=nums[i];
    }
    if(sum%2!=0){
        return false;
    }
    target=sum/2;

    int dp[target+1];
    for(int i=0;i<target+1;i++){
        dp[i]=0;
    }
    for(int i=0;i<numsSize;i++){
        for(int j=target;j>=nums[i];j--){
            dp[j]=dp[j]<(dp[j-nums[i]]+nums[i])?(dp[j-nums[i]]+nums[i]):dp[j];
        }
    }
    return dp[target]==target;
}
// #include<stdio.h>
// #include<string.h>
// #define MAX(a,b) (((a)>(b))?(a):(b))
// #define ARR_SIZE(arr) ((sizeof((arr)))/sizeof((arr)[0]))
// #define BAG_WEIGHT 4
// void test_back_pack(int *weights,int weightSize,int*values,int valueSize,int bagWeight){
//     int dp[bagWeight+1];
//     memset(dp,0,sizeof(int)*(bagWeight+1));
//     for(int i=0;i<weightSize;i++){
//         for( int j=bagWeight;j>=weights[i];--j){
//             dp[j]=MAX(dp[j],dp[j-weights[i]]+values[i]);
//         }
//     }
//     printf("%d\n",dp[bagWeight]);
// }
// int main(int argc,char**argv){
//     int weights[]={1,3.4};
//     int values[]={15,20,30};
//     test_back_pack(weights,ARR_SIZE(weights),values,ARR_SIZE(values),BAG_WEIGHT);
//     return 0;
// }

题目总结

0-1背包问题。

相关推荐
我想进大厂28 分钟前
图论---朴素Prim(稠密图)
数据结构·c++·算法·图论
我想进大厂33 分钟前
图论---Bellman-Ford算法
数据结构·c++·算法·图论
AIGC大时代36 分钟前
高效使用DeepSeek对“情境+ 对象 +问题“型课题进行开题!
数据库·人工智能·算法·aigc·智能写作·deepseek
lkbhua莱克瓦2444 分钟前
用C语言实现——一个中缀表达式的计算器。支持用户输入和动画演示过程。
c语言·开发语言·数据结构·链表·学习方法·交友·计算器
CODE_RabbitV1 小时前
【深度强化学习 DRL 快速实践】近端策略优化 (PPO)
算法
lwewan2 小时前
26考研——存储系统(3)
c语言·笔记·考研
Wendy_robot2 小时前
【滑动窗口+哈希表/数组记录】Leetcode 438. 找到字符串中所有字母异位词
c++·算法·leetcode
程序员-King.2 小时前
day49—双指针+贪心—验证回文串(LeetCode-680)
算法·leetcode·贪心算法·双指针
转基因3 小时前
Codeforces Round 1020 (Div. 3)(题解ABCDEF)
数据结构·c++·算法
我想进大厂4 小时前
图论---Kruskal(稀疏图)
数据结构·c++·算法·图论