Skip to content

Commit 3e08044

Browse files
committed
backtracking started
1 parent 09a8518 commit 3e08044

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+111
-77
lines changed

.idea/workspace.xml

Lines changed: 11 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<modelVersion>4.0.0</modelVersion>
66

7-
<groupId>com.subham.ta</groupId>
7+
<groupId>com.thealgorithm</groupId>
88
<artifactId>TheAlgorithm</artifactId>
99
<version>1.0-SNAPSHOT</version>
1010

src/main/java/com/subham/ta/Main.java

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.thealgorithm;
2+
3+
public class Main {
4+
public static void main(String[] args) {
5+
System.out.println("Say! Hello Algoithm!!");
6+
}
7+
}

src/main/java/com/subham/ta/array/AGraphIsAValidTree.java renamed to src/main/java/com/thealgorithm/array/AGraphIsAValidTree.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.array;
1+
package com.thealgorithm.array;
22

33
public class AGraphIsAValidTree {
44
private boolean cycleExist = false;

src/main/java/com/subham/ta/array/IntQuickSort.java renamed to src/main/java/com/thealgorithm/array/IntQuickSort.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.array;
1+
package com.thealgorithm.array;
22

33
import java.util.Arrays;
44

src/main/java/com/subham/ta/array/LeetCode1024Hard.java renamed to src/main/java/com/thealgorithm/array/LeetCode1024Hard.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.array;
1+
package com.thealgorithm.array;
22

33
import java.util.HashMap;
44
import java.util.Map;

src/main/java/com/subham/ta/array/LeetCode1605.java renamed to src/main/java/com/thealgorithm/array/LeetCode1605.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.array;
1+
package com.thealgorithm.array;
22

33
import java.util.function.Consumer;
44

src/main/java/com/subham/ta/array/LeetCode1636.java renamed to src/main/java/com/thealgorithm/array/LeetCode1636.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.array;
1+
package com.thealgorithm.array;
22

33
import java.util.Arrays;
44

src/main/java/com/subham/ta/array/LeetCode2191.java renamed to src/main/java/com/thealgorithm/array/LeetCode2191.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.array;
1+
package com.thealgorithm.array;
22

33
import java.util.Arrays;
44
import java.util.HashMap;

src/main/java/com/subham/ta/array/LeetCode2392.java renamed to src/main/java/com/thealgorithm/array/LeetCode2392.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.array;
1+
package com.thealgorithm.array;
22

33
import java.util.ArrayList;
44
import java.util.Collections;

src/main/java/com/subham/ta/array/NextPermutationFinder.java renamed to src/main/java/com/thealgorithm/array/NextPermutationFinder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.array;
1+
package com.thealgorithm.array;
22

33
public class NextPermutationFinder {
44
public static void nextPermutation(int[] arr) {}

src/main/java/com/subham/ta/array/matrix/JumpOnMatrix.java renamed to src/main/java/com/thealgorithm/array/matrix/JumpOnMatrix.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.array.matrix;
1+
package com.thealgorithm.array.matrix;
22

33
import java.util.ArrayList;
44
import java.util.Comparator;

src/main/java/com/subham/ta/array/matrix/SpiralIII.java renamed to src/main/java/com/thealgorithm/array/matrix/SpiralIII.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.array.matrix;
1+
package com.thealgorithm.array.matrix;
22

33
public class SpiralIII {
44
public static void main(String[] args) {

src/main/java/com/subham/ta/backtracking/CombinationSumI.java renamed to src/main/java/com/thealgorithm/backtracking/CombinationSumI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.backtracking;
1+
package com.thealgorithm.backtracking;
22

33
import java.util.ArrayList;
44
import java.util.List;

src/main/java/com/subham/ta/backtracking/PermutationI.java renamed to src/main/java/com/thealgorithm/backtracking/PermutationI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.backtracking;
1+
package com.thealgorithm.backtracking;
22

33
import java.util.ArrayList;
44
import java.util.Arrays;

src/main/java/com/subham/ta/backtracking/Subsets.java renamed to src/main/java/com/thealgorithm/backtracking/Subsets.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.backtracking;
1+
package com.thealgorithm.backtracking;
22

33
import java.util.ArrayList;
44
import java.util.List;
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.thealgorithm.backtracking;
2+
3+
import java.util.ArrayList;
4+
import java.util.HashSet;
5+
import java.util.List;
6+
import java.util.Set;
7+
8+
/**
9+
* @author: Subham Santra
10+
*/
11+
public class SubsetsII {
12+
13+
public List<List<Integer>> subsetsWithDup(int[] nums) {
14+
int len = nums.length;
15+
int powerLen = 1 << len;
16+
17+
Set<List<Integer>> result = new HashSet<>();
18+
for (int i = 0; i < powerLen; ++i) {
19+
int j = i;
20+
int k = 0;
21+
List<Integer> set = new ArrayList<>();
22+
while (j > 0) {
23+
if ((j & 1) == 1) {
24+
set.add(nums[k]);
25+
}
26+
++k;
27+
j >>= 1;
28+
}
29+
result.add(set);
30+
}
31+
return new ArrayList<>(result);
32+
}
33+
34+
public static void main(String[] args) {
35+
System.out.println(new SubsetsII().subsetsWithDup(new int[] {1, 2, 2, 1, 1, 1}));
36+
}
37+
}

src/main/java/com/subham/ta/commons/DesignAFoodRatingSystems.java renamed to src/main/java/com/thealgorithm/commons/DesignAFoodRatingSystems.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.commons;
1+
package com.thealgorithm.commons;
22

33
import java.util.*;
44

src/main/java/com/subham/ta/commons/Pair.java renamed to src/main/java/com/thealgorithm/commons/Pair.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.commons;
1+
package com.thealgorithm.commons;
22

33
import java.util.Objects;
44
import lombok.Builder;

src/main/java/com/subham/ta/commons/QuickSelect.java renamed to src/main/java/com/thealgorithm/commons/QuickSelect.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.commons;
1+
package com.thealgorithm.commons;
22

33
import java.util.Random;
44

src/main/java/com/subham/ta/commons/SmallestInfiniteSet.java renamed to src/main/java/com/thealgorithm/commons/SmallestInfiniteSet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.commons;
1+
package com.thealgorithm.commons;
22

33
import static java.util.Collections.swap;
44

src/main/java/com/subham/ta/competitive/CpTemplate.java renamed to src/main/java/com/thealgorithm/competitive/CpTemplate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.competitive;
1+
package com.thealgorithm.competitive;
22

33
import java.io.BufferedReader;
44
import java.io.IOException;

src/main/java/com/subham/ta/concurr/que/IQueue.java renamed to src/main/java/com/thealgorithm/concurr/que/IQueue.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.concurr.que;
1+
package com.thealgorithm.concurr.que;
22

33
public interface IQueue<T> {
44
void add(T val);

src/main/java/com/subham/ta/concurr/que/QueueTest.java renamed to src/main/java/com/thealgorithm/concurr/que/QueueTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.concurr.que;
1+
package com.thealgorithm.concurr.que;
22

33
import java.util.Random;
44
import java.util.concurrent.ExecutorService;

src/main/java/com/subham/ta/concurr/que/SimpleBlockingQueue.java renamed to src/main/java/com/thealgorithm/concurr/que/SimpleBlockingQueue.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.concurr.que;
1+
package com.thealgorithm.concurr.que;
22

33
import java.util.ArrayDeque;
44
import java.util.Queue;

src/main/java/com/subham/ta/dp/Leetcode907.java renamed to src/main/java/com/thealgorithm/dp/Leetcode907.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.dp;
1+
package com.thealgorithm.dp;
22

33
import java.util.Stack;
44

src/main/java/com/subham/ta/dp/lcs/LongestCommonSubsequence.java renamed to src/main/java/com/thealgorithm/dp/lcs/LongestCommonSubsequence.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package com.subham.ta.dp.lcs;
1+
package com.thealgorithm.dp.lcs;
2+
3+
import com.thealgorithm.commons.Pair;
24

3-
import com.subham.ta.commons.Pair;
45
import java.util.HashMap;
56
import java.util.Map;
67

src/main/java/com/subham/ta/dp/lis/Leetcode1653.java renamed to src/main/java/com/thealgorithm/dp/lis/Leetcode1653.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.dp.lis;
1+
package com.thealgorithm.dp.lis;
22

33
import java.util.Arrays;
44
import java.util.Stack;

src/main/java/com/subham/ta/dp/miscelleneous/LeetCode1155.java renamed to src/main/java/com/thealgorithm/dp/miscelleneous/LeetCode1155.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.dp.miscelleneous;
1+
package com.thealgorithm.dp.miscelleneous;
22

33
/**
44
* @see <a

src/main/java/com/subham/ta/dp/miscelleneous/LeetCode1235.java renamed to src/main/java/com/thealgorithm/dp/miscelleneous/LeetCode1235.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.dp.miscelleneous;
1+
package com.thealgorithm.dp.miscelleneous;
22

33
import java.util.Arrays;
44

src/main/java/com/subham/ta/dp/miscelleneous/LeetCode1335.java renamed to src/main/java/com/thealgorithm/dp/miscelleneous/LeetCode1335.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.dp.miscelleneous;
1+
package com.thealgorithm.dp.miscelleneous;
22

33
import java.util.Arrays;
44

src/main/java/com/subham/ta/dp/miscelleneous/LeetCode446.java renamed to src/main/java/com/thealgorithm/dp/miscelleneous/LeetCode446.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.dp.miscelleneous;
1+
package com.thealgorithm.dp.miscelleneous;
22

33
import java.util.ArrayList;
44
import java.util.HashMap;

src/main/java/com/subham/ta/graph/ArticulationPointOnDirectedGraph.java renamed to src/main/java/com/thealgorithm/graph/ArticulationPointOnDirectedGraph.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.util.HashMap;
44
import java.util.HashSet;

src/main/java/com/subham/ta/graph/CloneGraph.java renamed to src/main/java/com/thealgorithm/graph/CloneGraph.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.util.ArrayList;
44
import java.util.HashMap;

src/main/java/com/subham/ta/graph/CoursesII.java renamed to src/main/java/com/thealgorithm/graph/CoursesII.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.util.ArrayList;
44
import java.util.Arrays;

src/main/java/com/subham/ta/graph/Edge.java renamed to src/main/java/com/thealgorithm/graph/Edge.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.util.Objects;
44
import lombok.AccessLevel;

src/main/java/com/subham/ta/graph/FloydWarshallAlgorithm.java renamed to src/main/java/com/thealgorithm/graph/FloydWarshallAlgorithm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
public class FloydWarshallAlgorithm {
44
static final int INF = Integer.MAX_VALUE;

src/main/java/com/subham/ta/graph/Graph.java renamed to src/main/java/com/thealgorithm/graph/Graph.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.util.HashSet;
44
import java.util.Set;

src/main/java/com/subham/ta/graph/IslandsAndTreasures.java renamed to src/main/java/com/thealgorithm/graph/IslandsAndTreasures.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.util.AbstractMap;
44
import java.util.ArrayDeque;

src/main/java/com/subham/ta/graph/LeetCode2045.java renamed to src/main/java/com/thealgorithm/graph/LeetCode2045.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.util.ArrayDeque;
44
import java.util.ArrayList;

src/main/java/com/subham/ta/graph/LeetCode2976.java renamed to src/main/java/com/thealgorithm/graph/LeetCode2976.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.math.BigInteger;
44

src/main/java/com/subham/ta/graph/TopologicalSort.java renamed to src/main/java/com/thealgorithm/graph/TopologicalSort.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.util.ArrayList;
44
import java.util.Collections;

src/main/java/com/subham/ta/graph/Vertex.java renamed to src/main/java/com/thealgorithm/graph/Vertex.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.util.HashSet;
44
import java.util.Objects;

src/main/java/com/subham/ta/graph/WordLadder.java renamed to src/main/java/com/thealgorithm/graph/WordLadder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.graph;
1+
package com.thealgorithm.graph;
22

33
import java.util.ArrayDeque;
44
import java.util.ArrayList;

src/main/java/com/subham/ta/hashtable/LeetCode17.java renamed to src/main/java/com/thealgorithm/hashtable/LeetCode17.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.hashtable;
1+
package com.thealgorithm.hashtable;
22

33
import java.util.*;
44

src/main/java/com/subham/ta/lld/DatabaseLocks.java renamed to src/main/java/com/thealgorithm/lld/DatabaseLocks.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.subham.ta.lld;
1+
package com.thealgorithm.lld;
22

33
class Service {
44
public void doSomething(String key) {

0 commit comments

Comments
 (0)