Skip to content

Commit a26b9cc

Browse files
authored
Add C++ Solution for 698 (fishercoder1534#79)
* Create _698.cpp * refactor 698
1 parent 7f87bfb commit a26b9cc

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ _If you like this project, please leave me a star._ ★
350350
|701|[Insert into a Binary Search Tree](https://leetcode.com/problems/insert-into-a-binary-search-tree/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_701.java) | |Medium | DFS, recursion
351351
|700|[Search in a Binary Search Tree](https://leetcode.com/problems/search-in-a-binary-search-tree/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_700.java) | |Easy| recusion, dfs
352352
|699|[Falling Squares](https://leetcode.com/problems/falling-squares/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_699.java) ||Hard | Segment Tree
353-
|698|[Partition to K Equal Sum Subsets](https://leetcode.com/problems/partition-to-k-equal-sum-subsets/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_698.java) | |Medium | Backtracking
353+
|698|[Partition to K Equal Sum Subsets](https://leetcode.com/problems/partition-to-k-equal-sum-subsets/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_698.java), [C++](../master/cpp/_698.cpp) | |Medium | Backtracking + DP
354354
|697|[Degree of an Array](https://leetcode.com/problems/degree-of-an-array/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_697.java) ||Easy |
355355
|696|[Count Binary Substrings](https://leetcode.com/problems/count-binary-substrings/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_696.java) | |Easy |
356356
|695|[Max Area of Island](https://leetcode.com/problems/max-area-of-island/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_695.java) | |Easy | DFS

cpp/_698.cpp

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
//Partition to K Equal Sum Subsets
2+
3+
class Solution {
4+
public:
5+
6+
bool dfs(vector<int> &nums, vector<int> visited, int idx,int k,int currSum,int targetSum){
7+
if(k==1){
8+
//All subsets are found
9+
return true;
10+
}
11+
if(currSum==targetSum){
12+
//one subset found
13+
return dfs(nums,visited,0,k-1,0,targetSum);
14+
}
15+
for(int i=idx;i<nums.size();i++){
16+
if(!visited[i]){
17+
visited[i]=true;
18+
if(dfs(nums,visited,i+1,k,currSum+nums[i],targetSum)){
19+
return true;
20+
}
21+
visited[i]=false;
22+
}
23+
}
24+
return false;
25+
}
26+
bool canPartitionKSubsets(vector<int>& nums, int k) {
27+
vector<int> visited(nums.size(),false);
28+
int sum=0;
29+
for(int i=0;i<nums.size();i++){
30+
sum += nums[i];
31+
}
32+
if(sum%k!=0){
33+
return false;
34+
}
35+
return dfs(nums,visited,0,k,0,sum/k);
36+
}
37+
};

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