Skip to content

Commit a9a5603

Browse files
solves remove palindromic sub sequences
1 parent 7071324 commit a9a5603

File tree

3 files changed

+40
-2
lines changed

3 files changed

+40
-2
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -340,8 +340,8 @@
340340
| 1313 | [Decompress Run-Length Encoded Strings](https://leetcode.com/problems/decompress-run-length-encoded-list) | [![Java](assets/java.png)](src/DecompressRunLengthEncodedList.java) | |
341341
| 1317 | [Convert Integer to Sum Of Two Non-Zero Integers](https://leetcode.com/problems/convert-integer-to-the-sum-of-two-no-zero-integers) | [![Java](assets/java.png)](src/ConvertIntegerToTheSumOfTwoNoZeroIntegers.java) | |
342342
| 1323 | [Maximum 69 Number](https://leetcode.com/problems/maximum-69-number) | [![Java](assets/java.png)](src/Maximum69Number.java) | |
343-
| 1331 | [Rank Transform of An Array](https://leetcode.com/problems/rank-transform-of-an-array) | | |
344-
| 1332 | [Remove Palindromic Subsequences](https://leetcode.com/problems/remove-palindromic-subsequences) | | |
343+
| 1331 | [Rank Transform of An Array](https://leetcode.com/problems/rank-transform-of-an-array) | [![Java](assets/java.png)](src/RankTransformOfArray.java) | |
344+
| 1332 | [Remove Palindromic Subsequences](https://leetcode.com/problems/remove-palindromic-subsequences) | [![Java](assets/java.png)](src/RemovePalindromicSubSequences.java) | |
345345
| 1337 | [The K Weakest Rows In A Matrix](https://leetcode.com/problems/the-k-weakest-rows-in-a-matrix) | | |
346346
| 1342 | [Number of Steps to Reduce a Number to Zero](https://leetcode.com/problems/number-of-steps-to-reduce-a-number-to-zero) | | |
347347
| 1346 | [Check if N and It's Double Exist](https://leetcode.com/problems/check-if-n-and-its-double-exist) | | |

src/RankTransformOfArray.java

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import java.util.Arrays;
2+
import java.util.HashMap;
3+
import java.util.Map;
4+
5+
public class RankTransformOfArray {
6+
public int[] arrayRankTransform(int[] array) {
7+
final Map<Integer, Integer> elementRank = getElementRanks(array);
8+
final int[] result = new int[array.length];
9+
for (int index = 0 ; index < array.length ; index++) {
10+
result[index] = elementRank.get(array[index]);
11+
}
12+
return result;
13+
}
14+
15+
private Map<Integer, Integer> getElementRanks(int[] array) {
16+
final int[] sorted = array.clone();
17+
Arrays.sort(sorted);
18+
final Map<Integer, Integer> result = new HashMap<>();
19+
for (int i = 0, rank = 1 ; i < sorted.length ; i++) {
20+
if (!result.containsKey(sorted[i])) {
21+
result.put(sorted[i], rank++);
22+
}
23+
}
24+
return result;
25+
}
26+
}
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
public class RemovePalindromicSubSequences {
2+
public int removePalindromeSub(String s) {
3+
return isPalindrome(s) ? 1 : 2;
4+
}
5+
6+
private boolean isPalindrome(String s) {
7+
for (int i = 0 ; i < s.length() / 2 ; i++) {
8+
if (s.charAt(i) != s.charAt(s.length() - 1 - i)) return false;
9+
}
10+
return true;
11+
}
12+
}

0 commit comments

Comments
 (0)