Skip to content

Commit 5689008

Browse files
authored
Updated exec time 394-404.
1 parent d25ebb8 commit 5689008

File tree

12 files changed

+38
-60
lines changed

12 files changed

+38
-60
lines changed

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -921,7 +921,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.11'
921921
| 1290 |[Convert Binary Number in a Linked List to Integer](src.save/main/java/g1201_1300/s1290_convert_binary_number_in_a_linked_list_to_integer/Solution.java)| Easy | Math, Linked_List | 0 | 100.00
922922
| 0876 |[Middle of the Linked List](src.save/main/java/g0801_0900/s0876_middle_of_the_linked_list/Solution.java)| Easy | Two_Pointers, Linked_List | 0 | 100.00
923923
| 0104 |[Maximum Depth of Binary Tree](src.save/main/java/g0101_0200/s0104_maximum_depth_of_binary_tree/Solution.java)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree | 0 | 100.00
924-
| 0404 |[Sum of Left Leaves](src.save/main/java/g0401_0500/s0404_sum_of_left_leaves/Solution.java)| Easy | Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree | 0 | 100.00
924+
| 0404 |[Sum of Left Leaves](src.save/main/java/g0401_0500/s0404_sum_of_left_leaves/Solution.java)| Easy | Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree | 1 | 29.26
925925

926926
#### Day 11 Containers and Libraries
927927

@@ -1369,7 +1369,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.11'
13691369
| <!-- --> | <!-- --> | <!-- --> | <!-- --> | <!-- --> | <!-- -->
13701370
|-|-|-|-|-|-
13711371
| 0844 |[Backspace String Compare](src.save/main/java/g0801_0900/s0844_backspace_string_compare/Solution.java)| Easy | String, Two_Pointers, Stack, Simulation | 0 | 100.00
1372-
| 0394 |[Decode String](src.save/main/java/g0301_0400/s0394_decode_string/Solution.java)| Medium | Top_100_Liked_Questions, String, Stack, Recursion | 1 | 83.81
1372+
| 0394 |[Decode String](src.save/main/java/g0301_0400/s0394_decode_string/Solution.java)| Medium | Top_100_Liked_Questions, String, Stack, Recursion | 1 | 87.68
13731373

13741374
#### Day 15 Heap
13751375

@@ -1548,7 +1548,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.11'
15481548
| 0003 |[Longest Substring Without Repeating Characters](src.save/main/java/g0001_0100/s0003_longest_substring_without_repeating_characters/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window | 5 | 91.03
15491549
| 0020 |[Valid Parentheses](src.save/main/java/g0001_0100/s0020_valid_parentheses/Solution.java)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, String, Stack | 3 | 51.72
15501550
| 0005 |[Longest Palindromic Substring](src.save/main/java/g0001_0100/s0005_longest_palindromic_substring/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming | 10 | 98.57
1551-
| 0394 |[Decode String](src.save/main/java/g0301_0400/s0394_decode_string/Solution.java)| Medium | Top_100_Liked_Questions, String, Stack, Recursion | 1 | 83.81
1551+
| 0394 |[Decode String](src.save/main/java/g0301_0400/s0394_decode_string/Solution.java)| Medium | Top_100_Liked_Questions, String, Stack, Recursion | 1 | 87.68
15521552
| 0242 |[Valid Anagram](src.save/main/java/g0201_0300/s0242_valid_anagram/Solution.java)| Easy | Top_Interview_Questions, String, Hash_Table, Sorting | 2 | 99.01
15531553
| 0049 |[Group Anagrams](src.save/main/java/g0001_0100/s0049_group_anagrams/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting | 11 | 71.16
15541554
| 0151 |[Reverse Words in a String](src.save/main/java/g0101_0200/s0151_reverse_words_in_a_string/Solution.java)| Medium | String, Two_Pointers | 2 | 99.94
@@ -3363,17 +3363,17 @@ implementation 'com.github.javadev:leetcode-in-java:1.11'
33633363
| 0407 |[Trapping Rain Water II](src.save/main/java/g0401_0500/s0407_trapping_rain_water_ii/Solution.java)| Hard | Array, Breadth_First_Search, Matrix, Heap_Priority_Queue | 10 | 99.01
33643364
| 0406 |[Queue Reconstruction by Height](src.save/main/java/g0401_0500/s0406_queue_reconstruction_by_height/Solution.java)| Medium | Array, Sorting, Greedy, Segment_Tree, Binary_Indexed_Tree | 9 | 74.45
33653365
| 0405 |[Convert a Number to Hexadecimal](src.save/main/java/g0401_0500/s0405_convert_a_number_to_hexadecimal/Solution.java)| Easy | Math, Bit_Manipulation | 0 | 100.00
3366-
| 0404 |[Sum of Left Leaves](src.save/main/java/g0401_0500/s0404_sum_of_left_leaves/Solution.java)| Easy | Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Programming_Skills_I_Day_10_Linked_List_and_Tree | 0 | 100.00
3367-
| 0403 |[Frog Jump](src.save/main/java/g0401_0500/s0403_frog_jump/Solution.java)| Hard | Array, Dynamic_Programming | 18 | 97.19
3368-
| 0402 |[Remove K Digits](src.save/main/java/g0401_0500/s0402_remove_k_digits/Solution.java)| Medium | String, Greedy, Stack, Monotonic_Stack | 6 | 90.82
3369-
| 0401 |[Binary Watch](src.save/main/java/g0401_0500/s0401_binary_watch/Solution.java)| Easy | Bit_Manipulation, Backtracking | 1 | 98.21
3366+
| 0404 |[Sum of Left Leaves](src.save/main/java/g0401_0500/s0404_sum_of_left_leaves/Solution.java)| Easy | Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Programming_Skills_I_Day_10_Linked_List_and_Tree | 1 | 29.26
3367+
| 0403 |[Frog Jump](src.save/main/java/g0401_0500/s0403_frog_jump/Solution.java)| Hard | Array, Dynamic_Programming | 13 | 99.06
3368+
| 0402 |[Remove K Digits](src.save/main/java/g0401_0500/s0402_remove_k_digits/Solution.java)| Medium | String, Greedy, Stack, Monotonic_Stack | 4 | 99.66
3369+
| 0401 |[Binary Watch](src.save/main/java/g0401_0500/s0401_binary_watch/Solution.java)| Easy | Bit_Manipulation, Backtracking | 1 | 99.26
33703370
| 0400 |[Nth Digit](src.save/main/java/g0301_0400/s0400_nth_digit/Solution.java)| Medium | Math, Binary_Search | 0 | 100.00
3371-
| 0399 |[Evaluate Division](src.save/main/java/g0301_0400/s0399_evaluate_division/Solution.java)| Medium | Array, Depth_First_Search, Breadth_First_Search, Graph, Union_Find, Shortest_Path | 1 | 97.67
3372-
| 0398 |[Random Pick Index](src.save/main/java/g0301_0400/s0398_random_pick_index/Solution.java)| Medium | Hash_Table, Math, Randomized, Reservoir_Sampling | 75 | 74.64
3373-
| 0397 |[Integer Replacement](src.save/main/java/g0301_0400/s0397_integer_replacement/Solution.java)| Medium | Dynamic_Programming, Greedy, Bit_Manipulation, Memoization | 0 | 100.00
3374-
| 0396 |[Rotate Function](src.save/main/java/g0301_0400/s0396_rotate_function/Solution.java)| Medium | Array, Dynamic_Programming, Math | 3 | 98.51
3371+
| 0399 |[Evaluate Division](src.save/main/java/g0301_0400/s0399_evaluate_division/Solution.java)| Medium | Array, Depth_First_Search, Breadth_First_Search, Graph, Union_Find, Shortest_Path | 1 | 99.52
3372+
| 0398 |[Random Pick Index](src.save/main/java/g0301_0400/s0398_random_pick_index/Solution.java)| Medium | Hash_Table, Math, Randomized, Reservoir_Sampling | 102 | 83.94
3373+
| 0397 |[Integer Replacement](src.save/main/java/g0301_0400/s0397_integer_replacement/Solution.java)| Medium | Dynamic_Programming, Greedy, Bit_Manipulation, Memoization | 1 | 66.03
3374+
| 0396 |[Rotate Function](src.save/main/java/g0301_0400/s0396_rotate_function/Solution.java)| Medium | Array, Dynamic_Programming, Math | 4 | 81.33
33753375
| 0395 |[Longest Substring with At Least K Repeating Characters](src.save/main/java/g0301_0400/s0395_longest_substring_with_at_least_k_repeating_characters/Solution.java)| Medium | Top_Interview_Questions, String, Hash_Table, Sliding_Window, Divide_and_Conquer | 0 | 100.00
3376-
| 0394 |[Decode String](src.save/main/java/g0301_0400/s0394_decode_string/Solution.java)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Level_1_Day_14_Stack, Udemy_Strings | 1 | 83.81
3376+
| 0394 |[Decode String](src.save/main/java/g0301_0400/s0394_decode_string/Solution.java)| Medium | Top_100_Liked_Questions, String, Stack, Recursion, Level_1_Day_14_Stack, Udemy_Strings | 1 | 87.68
33773377
| 0393 |[UTF-8 Validation](src.save/main/java/g0301_0400/s0393_utf_8_validation/Solution.java)| Medium | Array, Bit_Manipulation | 1 | 100.00
33783378
| 0392 |[Is Subsequence](src.save/main/java/g0301_0400/s0392_is_subsequence/Solution.java)| Easy | String, Dynamic_Programming, Two_Pointers, Dynamic_Programming_I_Day_19, Level_1_Day_2_String, Udemy_Two_Pointers | 1 | 93.01
33793379
| 0391 |[Perfect Rectangle](src.save/main/java/g0301_0400/s0391_perfect_rectangle/Solution.java)| Hard | Array, Line_Sweep | 67 | 54.55

src.save/main/java/g0301_0400/s0394_decode_string/Solution.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package g0301_0400.s0394_decode_string;
22

33
// #Medium #Top_100_Liked_Questions #String #Stack #Recursion #Level_1_Day_14_Stack #Udemy_Strings
4-
// #2022_03_16_Time_1_ms_(83.81%)_Space_42.1_MB_(38.87%)
4+
// #2022_07_15_Time_1_ms_(87.68%)_Space_41.2_MB_(83.30%)
55

66
public class Solution {
77
private int i = 0;

src.save/main/java/g0301_0400/s0395_longest_substring_with_at_least_k_repeating_characters/Solution.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package g0301_0400.s0395_longest_substring_with_at_least_k_repeating_characters;
22

33
// #Medium #Top_Interview_Questions #String #Hash_Table #Sliding_Window #Divide_and_Conquer
4-
// #2022_03_16_Time_0_ms_(100.00%)_Space_41.9_MB_(62.59%)
4+
// #2022_07_15_Time_0_ms_(100.00%)_Space_42.4_MB_(47.47%)
55

66
public class Solution {
77
public int longestSubstring(String s, int k) {
@@ -16,7 +16,6 @@ private int helper(String s, int k, int start, int end) {
1616
for (int i = start; i < end; i++) {
1717
nums[s.charAt(i) - 'a']++;
1818
}
19-
2019
for (int i = start; i < end; i++) {
2120
if (nums[s.charAt(i) - 'a'] < k) {
2221
int j = i + 1;

src.save/main/java/g0301_0400/s0396_rotate_function/Solution.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package g0301_0400.s0396_rotate_function;
22

3-
// #Medium #Array #Dynamic_Programming #Math #2022_03_16_Time_3_ms_(98.51%)_Space_54.4_MB_(90.05%)
3+
// #Medium #Array #Dynamic_Programming #Math #2022_07_15_Time_4_ms_(81.33%)_Space_86_MB_(54.94%)
44

55
public class Solution {
66
public int maxRotateFunction(int[] nums) {

src.save/main/java/g0301_0400/s0397_integer_replacement/Solution.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package g0301_0400.s0397_integer_replacement;
22

33
// #Medium #Dynamic_Programming #Greedy #Bit_Manipulation #Memoization
4-
// #2022_03_16_Time_0_ms_(100.00%)_Space_39.3_MB_(62.74%)
4+
// #2022_07_15_Time_1_ms_(66.03%)_Space_41.7_MB_(9.89%)
55

66
import java.util.HashMap;
77
import java.util.Map;
Lines changed: 16 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,30 @@
11
package g0301_0400.s0398_random_pick_index;
22

33
// #Medium #Hash_Table #Math #Randomized #Reservoir_Sampling
4-
// #2022_03_18_Time_75_ms_(74.64%)_Space_68.8_MB_(76.92%)
5-
6-
/*
7-
* Using Reservoir Sampling
8-
*
9-
* Suppose the indexes of the target element in array are from 1 to N. You have
10-
* already picked i-1 elements. Now you are trying to pick ith element. The
11-
* probability to pick it is 1/i. Now you do not want to pick any future
12-
* numbers.. Thus, the final probability for ith element = 1/i * (1 - 1/(i+1)) *
13-
* (1 - 1/(i+2)) * .. * (1 - 1/N) = 1 / N.
14-
*
15-
* Time Complexity:
16-
* 1) Solution() Constructor -> O(1)
17-
* 2) pick() -> O(N)
18-
*
19-
* Space Complexity: O(1)
20-
*
21-
* N = Length of the input array.
22-
*/
4+
// #2022_07_15_Time_102_ms_(83.94%)_Space_81.3_MB_(76.10%)
235

6+
import java.util.ArrayList;
7+
import java.util.HashMap;
8+
import java.util.List;
9+
import java.util.Map;
2410
import java.util.Random;
2511

2612
@SuppressWarnings("java:S2245")
2713
public class Solution {
28-
private final int[] nums;
29-
private final Random random;
14+
//O(n) time | O(n) space
15+
private Map<Integer, List<Integer>> map;
16+
private Random rand;
3017

3118
public Solution(int[] nums) {
32-
this.nums = nums;
33-
this.random = new Random();
34-
}
35-
36-
public int pick(int target) {
37-
int idx = -1;
38-
int count = 0;
19+
map = new HashMap<>();
20+
rand = new Random();
3921
for (int i = 0; i < nums.length; i++) {
40-
if (nums[i] == target) {
41-
count++;
42-
if (random.nextInt(count) == 0) {
43-
idx = i;
44-
}
45-
}
22+
map.computeIfAbsent(nums[i], k -> new ArrayList<>()).add(i);
4623
}
47-
return idx;
24+
}
25+
26+
public int pick(int target) {
27+
List<Integer> list = map.get(target);
28+
return list.get(rand.nextInt(list.size()));
4829
}
4930
}

src.save/main/java/g0301_0400/s0399_evaluate_division/Solution.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package g0301_0400.s0399_evaluate_division;
22

33
// #Medium #Array #Depth_First_Search #Breadth_First_Search #Graph #Union_Find #Shortest_Path
4-
// #2022_03_16_Time_1_ms_(97.67%)_Space_42.6_MB_(43.14%)
4+
// #2022_07_15_Time_1_ms_(99.52%)_Space_43_MB_(20.05%)
55

66
import java.util.HashMap;
77
import java.util.List;
@@ -24,7 +24,6 @@ public double[] calcEquation(
2424
rate.put(x, 1.0);
2525
rate.put(y, 1.0);
2626
}
27-
2827
for (int i = 0; i < n; ++i) {
2928
String x = equations.get(i).get(0);
3029
String y = equations.get(i).get(1);

src.save/main/java/g0301_0400/s0400_nth_digit/Solution.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package g0301_0400.s0400_nth_digit;
22

3-
// #Medium #Math #Binary_Search #2022_03_16_Time_0_ms_(100.00%)_Space_39_MB_(64.52%)
3+
// #Medium #Math #Binary_Search #2022_07_15_Time_0_ms_(100.00%)_Space_39_MB_(95.41%)
44

55
public class Solution {
66
/*
@@ -18,7 +18,6 @@ public int findNthDigit(int n) {
1818
count *= 10;
1919
start *= 10;
2020
}
21-
2221
start += (n - 1) / len;
2322
String s = Integer.toString(start);
2423
return Character.getNumericValue(s.charAt((n - 1) % len));

src.save/main/java/g0401_0500/s0401_binary_watch/Solution.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package g0401_0500.s0401_binary_watch;
22

3-
// #Easy #Bit_Manipulation #Backtracking #2022_03_16_Time_1_ms_(98.21%)_Space_42.4_MB_(65.26%)
3+
// #Easy #Bit_Manipulation #Backtracking #2022_07_15_Time_1_ms_(99.26%)_Space_43.1_MB_(42.54%)
44

55
import java.util.ArrayList;
66
import java.util.List;

src.save/main/java/g0401_0500/s0402_remove_k_digits/Solution.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package g0401_0500.s0402_remove_k_digits;
22

33
// #Medium #String #Greedy #Stack #Monotonic_Stack
4-
// #2022_03_16_Time_6_ms_(90.82%)_Space_45.6_MB_(44.06%)
4+
// #2022_07_15_Time_4_ms_(99.66%)_Space_42.3_MB_(99.36%)
55

66
public class Solution {
77
public String removeKdigits(String num, int k) {

0 commit comments

Comments
 (0)