MCPcopy Create free account
hub / github.com/neetcode-gh/leetcode / backtrack

Method backtrack

java/0047-permutations-ii.java:10–32  ·  view source on GitHub ↗
(List<List<Integer>> res,
                          int[] nums,
                          List<Integer> path,
                          boolean[] visited)

Source from the content-addressed store, hash-verified

8 }
9
10 public void backtrack(List<List<Integer>> res,
11 int[] nums,
12 List<Integer> path,
13 boolean[] visited) {
14 if (path.size() == nums.length) {
15 res.add(new ArrayList<>(path));
16 return;
17 }
18
19 for (int i = 0; i < nums.length; i++) {
20 if (visited[i] ||
21 (i > 0 && nums[i - 1] == nums[i] && visited[i - 1]))
22 continue;
23
24 visited[i] = true;
25 path.add(nums[i]);
26
27 backtrack(res, nums, path, visited);
28
29 visited[i] = false;
30 path.remove(path.size() - 1);
31 }
32 }
33}

Callers 1

permuteUniqueMethod · 0.95

Calls 3

sizeMethod · 0.45
addMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected