@ 代码随想录算法训练营第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背包问题。

相关推荐
2401_841495646 小时前
【LeetCode刷题】二叉树的直径
数据结构·python·算法·leetcode·二叉树··递归
budingxiaomoli6 小时前
优选算法-字符串
算法
I'mChloe6 小时前
PTO-ISA 深度解析:PyPTO 范式生成的底层指令集与 NPU 算子执行的硬件映射
c语言·开发语言
我是咸鱼不闲呀6 小时前
力扣Hot100系列19(Java)——[动态规划]总结(上)(爬楼梯,杨辉三角,打家劫舍,完全平方数,零钱兑换)
java·leetcode·动态规划
qq7422349846 小时前
APS系统与OR-Tools完全指南:智能排产与优化算法实战解析
人工智能·算法·工业·aps·排程
2的n次方_6 小时前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
嵌入小生0076 小时前
标准IO---核心函数接口延续(嵌入式Linux)
c语言·vscode·vim·嵌入式·小白·标准io·函数接口
A尘埃6 小时前
超市购物篮关联分析与货架优化(Apriori算法)
算法
.小墨迹6 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
不穿格子的程序员7 小时前
从零开始刷算法——贪心篇1:跳跃游戏1 + 跳跃游戏2
算法·游戏·贪心