动态规划-Subarray Sum Equals K-子数组和为K

Serafina ·
更新时间:2024-09-20
· 828 次阅读

给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的子数组。如果存在该子数组返回true,否则返回false。

#include #include using namespace std; int main() { std::cout << "Hello, World!" << std::endl; int m = 30; int s = 34; int arr[m]; vector<vector> subset(m,vector(s+1,false)); for(int i=0;i<=m;i++){ subset[i][0]= true; } subset[0][arr[0]]= true; for(int i=1;i<=m;i++){ for(int j=1;j<=s;j++){ if(j<arr[i]){ subset[i][j] =subset[i-1][j]; }else{ bool a= subset[i-1][j-arr[i]]; bool b=subset[i-1][j]; if(a || b){ subset[i][j] = true; }else{ subset[i][j] = false; } } } } cout<<subset[m][s]<<endl; return 0; }
作者:银灯玉箫



equals 动态规划 sum 动态 数组

需要 登录 后方可回复, 如果你还没有账号请 注册新账号