Skip to content

Commit 2cc178e

Browse files
authored
Merge branch 'neetcode-gh:main' into main
2 parents 3ba37b7 + d395ba2 commit 2cc178e

19 files changed

+362
-3
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ If you would like to have collaborator permissions on the repo to merge your own
179179
<sub>[0081 - Search In Rotated Sorted Array II](https://leetcode.com/problems/search-in-rotated-sorted-array-ii/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0081-search-in-rotated-sorted-array-ii.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0081-search-in-rotated-sorted-array-ii.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
180180
<sub>[0981 - Time Based Key Value Store](https://leetcode.com/problems/time-based-key-value-store/)</sub> | <sub><div align='center'>[✔️](c%2F0981-time-based-key-value-store.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0981-time-based-key-value-store.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0981-time-based-key-value-store.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0981-time-based-key-value-store.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0981-time-based-key-value-store.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0981-time-based-key-value-store.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0981-time-based-key-value-store.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0981-time-based-key-value-store.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0981-Time-Based-Key-Value-Store.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0981-time-based-key-value-store.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0981-time-based-key-value-store.ts)</div></sub>
181181
<sub>[0034 - Find First And Last Position of Element In Sorted Array](https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0034-find-first-and-last-position-of-element-in-sorted-array.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0034-find-first-and-last-position-of-element-in-sorted-array.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0034-find-first-and-last-position-of-element-in-sorted-array.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0034-find-first-and-last-position-of-element-in-sorted-array.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0034-find-first-and-last-position-of-element-in-sorted-array.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0034-find-first-and-last-position-of-element-in-sorted-array.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0034-find-first-and-last-position-of-element-in-sorted-array.swift)</div></sub> | <sub><div align='center'>❌</div></sub>
182-
<sub>[1898 - Maximum Number of Removable Characters](https://leetcode.com/problems/maximum-number-of-removable-characters/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'></div></sub> | <sub><div align='center'>[✔️](javascript%2F1898-maximum-number-of-removable-characters.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1898-maximum-number-of-removable-characters.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
182+
<sub>[1898 - Maximum Number of Removable Characters](https://leetcode.com/problems/maximum-number-of-removable-characters/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F1898-maximum-number-of-removable-characters.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F1898-maximum-number-of-removable-characters.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1898-maximum-number-of-removable-characters.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
183183
<sub>[0116 - Populating Next Right Pointers In Each Node](https://leetcode.com/problems/populating-next-right-pointers-in-each-node/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0116-populating-next-right-pointers-in-each-node.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0116-populating-next-right-pointers-in-each-node.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0116-populating-next-right-pointers-in-each-node.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0116-populating-next-right-pointers-in-each-node.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0116-populating-next-right-pointers-in-each-node.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
184184
<sub>[1268 - Search Suggestions System](https://leetcode.com/problems/search-suggestions-system/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F1268-search-suggestions-system.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F1268-search-suggestions-system.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1268-search-suggestions-system.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
185185
<sub>[0410 - Split Array Largest Sum](https://leetcode.com/problems/split-array-largest-sum/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0410-split-array-largest-sum.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0410-split-array-largest-sum.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0410-split-array-largest-sum.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0410-split-array-largest-sum.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
@@ -307,7 +307,7 @@ If you would like to have collaborator permissions on the repo to merge your own
307307
---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ----
308308
<sub>[0078 - Subsets](https://leetcode.com/problems/subsets/)</sub> | <sub><div align='center'>[✔️](c%2F0078-subsets.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0078-subsets.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0078-subsets.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0078-subsets.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0078-subsets.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0078-subsets.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0078-subsets.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0078-subsets.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0078-subsets.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0078-subsets.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0078-subsets.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0078-subsets.ts)</div></sub>
309309
<sub>[0039 - Combination Sum](https://leetcode.com/problems/combination-sum/)</sub> | <sub><div align='center'>[✔️](c%2F0039-combination-sum.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0039-combination-sum.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0039-combination-sum.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0039-combination-sum.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0039-combination-sum.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0039-combination-sum.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0039-combination-sum.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0039-combination-sum.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0039-combination-sum.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0039-combination-sum.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0039-combination-sum.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0039-combination-sum.ts)</div></sub>
310-
<sub>[0077 - Combinations](https://leetcode.com/problems/combinations/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'></div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0077-combinations.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0077-combinations.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0077-combinations.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0077-combinations.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
310+
<sub>[0077 - Combinations](https://leetcode.com/problems/combinations/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0077-combinations.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0077-combinations.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0077-combinations.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0077-combinations.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0077-combinations.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
311311
<sub>[0046 - Permutations](https://leetcode.com/problems/permutations/)</sub> | <sub><div align='center'>[✔️](c%2F0046-permutations.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0046-permutations.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0046-permutations.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0046-permutations.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0046-permutations.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0046-permutations.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0046-permutations.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0046-permutations.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0046-permutations.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0046-permutations.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0046-permutations.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0046-permutations.ts)</div></sub>
312312
<sub>[0090 - Subsets II](https://leetcode.com/problems/subsets-ii/)</sub> | <sub><div align='center'>[✔️](c%2F0090-subsets-ii.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0090-subsets-ii.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0090-subsets-ii.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0090-subsets-ii.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0090-subsets-ii.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0090-subsets-ii.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0090-subsets-ii.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0090-subsets-ii.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0090-subsets-ii.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0090-subsets-ii.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0090-subsets-ii.ts)</div></sub>
313313
<sub>[0040 - Combination Sum II](https://leetcode.com/problems/combination-sum-ii/)</sub> | <sub><div align='center'>[✔️](c%2F0040-combination-sum-ii.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0040-combination-sum-ii.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0040-combination-sum-ii.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0040-combination-sum-ii.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0040-combination-sum-ii.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0040-combination-sum-ii.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0040-combination-sum-ii.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0040-combination-sum-ii.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0040-combination-sum-ii.rb)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0040-combination-sum-ii.ts)</div></sub>

cpp/0077-combinations.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
class Solution {
2+
private:
3+
void backtrack(int start, int n, int k, vector<int> &combination, vector<vector<int>> &res){
4+
//base case, when size of combination is k, we wanna stop
5+
if(combination.size() == k){
6+
res.push_back(combination);
7+
return;
8+
}
9+
10+
for(int i = start; i<=n; i++){
11+
combination.push_back(i);
12+
backtrack(i+1, n, k, combination, res);
13+
combination.pop_back();
14+
}
15+
}
16+
public:
17+
vector<vector<int>> combine(int n, int k) {
18+
vector<vector<int>> res;
19+
20+
//initial empty list to pass to the backtrack function
21+
vector<int> emptyCombination;
22+
23+
backtrack(1, n, k, emptyCombination, res);
24+
25+
return res;
26+
}
27+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Solution {
2+
public List<Integer> findDuplicates(int[] nums) {
3+
List<Integer> res = new ArrayList<>();
4+
5+
for (int n : nums) {
6+
n = Math.abs(n);
7+
if (nums[n - 1] < 0)
8+
res.add(n);
9+
nums[n - 1] = -nums[n - 1];
10+
}
11+
12+
return res;
13+
}
14+
}

java/0450-delete-node-in-a-bst.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public TreeNode deleteNode(TreeNode root, int key) {
2424
} else if (root.right == null) {
2525
return root.left;
2626
} else {
27-
TreeNode minVal = minimumVal(root);
27+
TreeNode minVal = minimumVal(root.right);
2828
root.val = minVal.val;
2929
root.right = deleteNode(root.right, minVal.val);
3030
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution {
2+
public int findMinArrowShots(int[][] points) {
3+
Arrays.sort(points, Comparator.comparingInt((int[] a) -> a[0])
4+
.thenComparingInt((int[] a) -> a[1]));
5+
6+
var res = points.length;
7+
var prev = points[0];
8+
for (int i = 1; i < points.length; i++) {
9+
int[] curr = points[i];
10+
if (curr[0] <= prev[1]) {
11+
res--;
12+
prev[0] = curr[0];
13+
prev[1] = Math.min(curr[1], prev[1]);
14+
} else {
15+
prev = curr;
16+
}
17+
}
18+
19+
return res;
20+
}
21+
}

java/0525-contiguous-array.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
class Solution {
2+
public int findMaxLength(int[] nums) {
3+
int zero = 0;
4+
int one = 0;
5+
int res = 0;
6+
7+
HashMap<Integer, Integer> diffIndex = new HashMap<>();
8+
9+
for (int i = 0; i < nums.length; i++) {
10+
int n = nums[i];
11+
if (n == 0)
12+
zero++;
13+
else
14+
one++;
15+
if (diffIndex.get(one - zero) == null)
16+
diffIndex.put(one - zero, i);
17+
18+
if (one == zero) {
19+
res = one + zero;
20+
} else {
21+
int idx = diffIndex.getOrDefault(one - zero, 0);
22+
res = Math.max(res, i - idx);
23+
}
24+
}
25+
26+
return res;
27+
}
28+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
public int numSubarraysWithSum(int[] nums, int goal) {
3+
return helper(nums, goal) - helper(nums, goal - 1);
4+
}
5+
private int helper(int[] nums, int goal){
6+
if(goal < 0)
7+
return 0;
8+
9+
int res = 0, sum = 0;
10+
int l = 0;
11+
12+
for(int r = 0; r < nums.length; r++){
13+
sum += nums[r];
14+
while(sum > goal){
15+
sum -= nums[l];
16+
l += 1;
17+
}
18+
res += (r - l + 1);
19+
}
20+
return res;
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
public ListNode mergeInBetween(ListNode list1, int a, int b, ListNode list2) {
3+
ListNode curr = list1;
4+
int i = 0;
5+
while (i < a - 1) {
6+
curr = curr.next;
7+
i++;
8+
}
9+
10+
ListNode head = curr;
11+
while (i <= b) {
12+
curr = curr.next;
13+
i++;
14+
}
15+
head.next = list2;
16+
17+
while (list2.next != null)
18+
list2 = list2.next;
19+
list2.next = curr;
20+
return list1;
21+
}
22+
}

0 commit comments

Comments
 (0)