File tree Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -416,7 +416,24 @@ var canPartition = function(nums) {
416
416
};
417
417
```
418
418
419
-
419
+ TypeScript:
420
+
421
+ ``` ts
422
+ function canPartition(nums : number []): boolean {
423
+ const sum: number = nums .reduce ((a : number , b : number ): number => a + b );
424
+ if (sum % 2 === 1 ) return false ;
425
+ const target: number = sum / 2 ;
426
+ // dp[j]表示容量(总数和)为j的背包所能装下的数(下标[0, i]之间任意取)的总和(<= 容量)的最大值
427
+ const dp: number [] = new Array (target + 1 ).fill (0 );
428
+ const n: number = nums .length ;
429
+ for (let i: number = 0 ; i < n ; i ++ ) {
430
+ for (let j: number = target ; j >= nums [i ]; j -- ) {
431
+ dp [j ] = Math .max (dp [j ], dp [j - nums [i ]] + nums [i ]);
432
+ }
433
+ }
434
+ return dp [target ] === target ;
435
+ };
436
+ ```
420
437
421
438
422
439
-----------------------
You can’t perform that action at this time.
0 commit comments