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

相关推荐
Legendary_0081 分钟前
解析 PD Sink 与 LDR6500U:Type-C 取电的核心密码
c语言·开发语言
阿Y加油吧12 分钟前
两道位运算 / 摩尔投票经典题复盘:只出现一次的数字 & 多数元素
数据结构·算法·leetcode
Evand J17 分钟前
【课题推荐】三模型IMM交互式多模型滤波算法,匀速/左转/右转目标跟踪,附MATLAB代码测试结果
算法·matlab·目标跟踪·无人机·imm·多模型
05候补工程师40 分钟前
【408狂飙·数据结构】核心考点深度复盘:数组地址计算、特殊矩阵压缩存储与树的五大性质解题直觉
数据结构·笔记·线性代数·考研·算法·矩阵
basketball6161 小时前
C++ 强制类型转换:从 C 风格到 C++ 四大金刚
java·c语言·c++
青山师1 小时前
HashMap深度解析:哈希冲突、扩容机制与线程安全
算法·安全·哈希算法·java面试·hashmap源码
货拉拉技术1 小时前
私域转化率翻倍的秘密:我们把多模态Agent融进了私域营销
人工智能·算法·设计模式
WL_Aurora1 小时前
备战蓝桥杯国赛【Day 17】
算法·蓝桥杯
kcuwu.1 小时前
决策树与集成学习深度解析:从原理到实践
算法·决策树·集成学习
programhelp_2 小时前
2026 Fall Coinbase Software Engineer OA 真题分享与通关指南
算法