Skip to content

Commit 68b5db7

Browse files
committed
update
1 parent 6846702 commit 68b5db7

File tree

48 files changed

+1083
-178
lines changed

Some content is hidden

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

48 files changed

+1083
-178
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// AC: Runtime: 2 ms, faster than 100.00% of Java online submissions for Concatenation of Array.
2+
// Memory Usage: 47.7 MB, less than 100.00% of Java online submissions for Concatenation of Array.
3+
// .
4+
// T:O(n), S:O(1)
5+
//
6+
class Solution {
7+
public int[] getConcatenation(int[] nums) {
8+
int size = nums.length;
9+
int[] ret = new int[2 * size];
10+
for (int i = 0; i < 2 * size; i++) {
11+
ret[i] = nums[i % size];
12+
}
13+
14+
return ret;
15+
}
16+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
// AC: Runtime: 74 ms, faster than 100.00% of Java online submissions for Unique Length-3 Palindromic Subsequences.
2+
// Memory Usage: 51.5 MB, less than 50.00% of Java online submissions for Unique Length-3 Palindromic Subsequences.
3+
// thought: record the start-index and end-index of every char, and count the distinct char between (start-index, end-index)
4+
// T:O(n^2), S:O(1)
5+
//
6+
class Solution {
7+
public int countPalindromicSubsequence(String s) {
8+
int size = s.length(), ret = 0;
9+
HashMap<Character, List<Integer>> charIndex = new HashMap<>();
10+
for (int i = 0; i < size; i++) {
11+
char c = s.charAt(i);
12+
if (charIndex.get(c) != null) {
13+
if (charIndex.get(c).size() == 1) {
14+
charIndex.get(c).add(i);
15+
} else {
16+
charIndex.get(c).set(1, i);
17+
}
18+
} else {
19+
List<Integer> tempList = new LinkedList<>();
20+
tempList.add(i);
21+
charIndex.put(c, tempList);
22+
}
23+
}
24+
for (int i = 0; i < 26; i++) {
25+
char c = (char) (i + 'a');
26+
if (charIndex.get(c) != null && charIndex.get(c).size() == 2) {
27+
HashSet<Character> tempRecord = new HashSet<>();
28+
int startIndex = charIndex.get(c).get(0), endIndex = charIndex.get(c).get(1);
29+
if (endIndex - startIndex == 1) {
30+
continue;
31+
}
32+
for (int j = startIndex + 1; j <= endIndex - 1; j++) {
33+
tempRecord.add(s.charAt(j));
34+
// reach max possible value, break
35+
if (tempRecord.size() == 26) {
36+
break;
37+
}
38+
}
39+
ret += tempRecord.size();
40+
}
41+
}
42+
43+
return ret;
44+
}
45+
}

leetcode_solved/[editing]leetcode_0042_Trapping_Rain_Water.cpp

Lines changed: 0 additions & 41 deletions
This file was deleted.

leetcode_solved/[editing]leetcode_0162_Find_Peak_Element.cpp

Whitespace-only changes.

leetcode_solved/[editing]leetcode_0413_Arithmetic_Slices.cpp

Lines changed: 0 additions & 6 deletions
This file was deleted.

leetcode_solved/[editing]leetcode_0535_Encode_and_Decode_TinyURL.cpp

Lines changed: 0 additions & 17 deletions
This file was deleted.

leetcode_solved/[editing]leetcode_0611_Valid_Triangle_Number.cpp

Lines changed: 0 additions & 6 deletions
This file was deleted.

leetcode_solved/[editing]leetcode_0735_Asteroid_Collision.cpp

Lines changed: 0 additions & 6 deletions
This file was deleted.

leetcode_solved/[editing]leetcode_0791_Custom_Sort_String.cpp

Lines changed: 0 additions & 11 deletions
This file was deleted.

leetcode_solved/[editing]leetcode_0841_Keys_and_Rooms.cpp

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)