Skip to content

Commit ef1cebf

Browse files
Merge branch 'neetcode-gh:main' into 535Swift
2 parents f6ed97e + 7a49e74 commit ef1cebf

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ If you would like to have collaborator permissions on the repo to merge your own
6767
<sub>[0280 - Wiggle Sort](https://leetcode.com/problems/wiggle-sort/)</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'>❌</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> | <sub><div align='center'>❌</div></sub>
6868
<sub>[0179 - Largest Number](https://leetcode.com/problems/largest-number/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0179-largest-number.cpp)</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%2F0179-largest-number.java)</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> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0179-largest-number.ts)</div></sub>
6969
<sub>[0523 - Continuous Subarray Sum](https://leetcode.com/problems/continuous-subarray-sum/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0523-continuous-subarray-sum.cpp)</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%2F0523-continuous-subarray-sum.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](python%2F0523-continuous-subarray-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>
70-
<sub>[0838 - Push Dominoes](https://leetcode.com/problems/push-dominoes/)</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'>❌</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> | <sub><div align='center'>[✔️](typescript%2F0838-push-dominoes.ts)</div></sub>
70+
<sub>[0838 - Push Dominoes](https://leetcode.com/problems/push-dominoes/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0838-push-dominoes.cpp)</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> | <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'>[✔️](typescript%2F0838-push-dominoes.ts)</div></sub>
7171
<sub>[0187 - Repeated Dna Sequences](https://leetcode.com/problems/repeated-dna-sequences/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0187-repeated-dna-sequences.cpp)</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%2F0187-repeated-dna-sequences.java)</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> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0187-repeated-dna-sequences.ts)</div></sub>
7272
<sub>[0380 - Insert Delete Get Random O(1)](https://leetcode.com/problems/insert-delete-getrandom-o1/)</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%2F0380-insert-delete-getrandom-o1.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0380-insert-delete-getrandom-o1.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0380-insert-delete-getrandom-o1.js)</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> | <sub><div align='center'>[✔️](typescript%2F0380-insert-delete-getrandom-o1.ts)</div></sub>
7373
<sub>[1461 - Check if a String Contains All Binary Codes of Size K](https://leetcode.com/problems/check-if-a-string-contains-all-binary-codes-of-size-k/)</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'>❌</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> | <sub><div align='center'>❌</div></sub>

cpp/0838-push-dominoes.cpp

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
Time: O(n)
3+
Space: O(n)
4+
*/
5+
6+
class Solution {
7+
public:
8+
string pushDominoes(string dominoes) {
9+
10+
string res = "";
11+
char prev;
12+
int n = dominoes.size(), count = 1;
13+
14+
vector<int> left(n, 0), right(n, 0);
15+
for (int i = 0; i < n; i++) {
16+
if (dominoes[i] == 'R') { count = 1; prev = 'R'; }
17+
else if (dominoes[i] != '.') prev = dominoes[i];
18+
if (prev == 'R' && dominoes[i] == '.') right[i] = count++;
19+
}
20+
21+
prev = '.';
22+
for (int i = n-1; i >= 0; i--) {
23+
if (dominoes[i] == 'L') { count = 1; prev = 'L'; }
24+
else if (dominoes[i] != '.') prev = dominoes[i];
25+
if (prev == 'L' && dominoes[i] == '.') left[i] = count++;
26+
}
27+
28+
for (int i = 0; i < n; i++) {
29+
if (!left[i] && !right[i]) res += dominoes[i];
30+
else if (!left[i]) res += 'R';
31+
else if (!right[i]) res += 'L';
32+
else if (left[i] == right[i]) res += '.';
33+
else if (left[i] < right[i]) res += 'L';
34+
else res += 'R';
35+
}
36+
37+
return res;
38+
}
39+
};

0 commit comments

Comments
 (0)