#define N 20004
void print(int *arr , int len){
int i;
for(i=0; i<len; i++)
printf("%d,", arr[i]);
printf("\n");
}
bool canPartition(int* nums, int numsSize){
int arr[N];
int i, j, cnt = 0;
memset(arr, 0 ,sizeof(arr));
for(i=0; i<numsSize; i++){
cnt += nums[i];
arr[cnt] = 1;
for(j=cnt-1; j>=0; j--){
if(arr[j]){
arr[j+nums[i]] = 1;
}
}
}
if(cnt & 0x1) return false;
print(arr, cnt+1);
if(arr[cnt/2]) return true;
return false;
}
leetcode-416. 分割等和子集-C语言
最新推荐文章于 2023-03-13 12:44:19 发布