Skip to content

Commit 2e94324

Browse files
authored
Add C++ Solution for 416 (fishercoder1534#78)
* Create _416.cpp * refactor 416
1 parent bbf9e2d commit 2e94324

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -580,7 +580,7 @@ _If you like this project, please leave me a star._ ★
580580
|419|[Battleships in a Board](https://leetcode.com/problems/battleships-in-a-board/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_419.java) | |Medium| DFS
581581
|418|[Sentence Screen Fitting](https://leetcode.com/problems/sentence-screen-fitting/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_418.java) | |Medium|
582582
|417|[Pacific Atlantic Water Flow](https://leetcode.com/problems/pacific-atlantic-water-flow/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_417.java) | |Medium| DFS
583-
|416|[Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_416.java)| |Medium | DP
583+
|416|[Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum/)|[Java](../master/src/main/java/com/fishercoder/solutions/_416.java), [C++](../master/cpp/_416.cpp)| |Medium | DP
584584
|415|[Add Strings](https://leetcode.com/problems/add-strings/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_415.java)| |Easy|
585585
|414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_414.java)| |Easy|
586586
|413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_413.java) | |Medium| DP

cpp/_416.cpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
//416. Partition Equal Subset Sum
2+
3+
class Solution {
4+
public:
5+
//maximum size top-down dp table
6+
bool dp[201][20001];
7+
8+
bool equalPart(vector<int>& arr,int size,int sum){
9+
for(int i=0;i<=size;i++){
10+
dp[i][0]=true;
11+
}
12+
for(int i=1;i<=sum;i++){
13+
dp[0][i]=false;
14+
}
15+
16+
for(int i=1;i<=size;i++){
17+
for(int j=1;j<=sum;j++){
18+
19+
if(arr[i-1]<=j){
20+
dp[i][j] = dp[i-1][j] || dp[i-1][j-arr[i-1]];
21+
}else{
22+
dp[i][j] = dp[i-1][j];
23+
}
24+
25+
}
26+
}
27+
28+
return dp[size][sum];
29+
}
30+
31+
bool canPartition(vector<int>& nums) {
32+
int sum=0;
33+
for(int i=0;i<nums.size();i++){
34+
sum+=nums[i];
35+
}
36+
if(sum%2!=0){
37+
return false;
38+
}else{
39+
return equalPart(nums,nums.size(),sum/2);
40+
}
41+
}
42+
};

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy