Skip to content

Commit

Permalink
Updated tasks 1-208
Browse files Browse the repository at this point in the history
  • Loading branch information
javadev authored Nov 16, 2024
1 parent 9a426e4 commit a1dcd8e
Show file tree
Hide file tree
Showing 77 changed files with 366 additions and 368 deletions.
256 changes: 128 additions & 128 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/main/java/g0001_0100/s0001_two_sum/Solution.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Easy #Top_100_Liked_Questions #Top_Interview_Questions #Array #Hash_Table
// #Data_Structure_I_Day_2_Array #Level_1_Day_13_Hashmap #Udemy_Arrays #Big_O_Time_O(n)_Space_O(n)
// #AI_can_be_used_to_solve_the_task #2024_01_04_Time_2_ms_(85.97%)_Space_44.8_MB_(15.45%)
// #AI_can_be_used_to_solve_the_task #2024_11_09_Time_2_ms_(98.90%)_Space_44.9_MB_(47.05%)

import java.util.HashMap;
import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Math #Linked_List #Recursion
// #Data_Structure_II_Day_10_Linked_List #Programming_Skills_II_Day_15
// #Big_O_Time_O(max(N,M))_Space_O(max(N,M)) #AI_can_be_used_to_solve_the_task
// #2024_01_04_Time_1_ms_(100.00%)_Space_44.4_MB_(16.63%)
// #2024_11_09_Time_1_ms_(100.00%)_Space_43.7_MB_(99.52%)

import com_github_leetcode.ListNode;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #String #Hash_Table #Sliding_Window
// #Algorithm_I_Day_6_Sliding_Window #Level_2_Day_14_Sliding_Window/Two_Pointer #Udemy_Strings
// #Big_O_Time_O(n)_Space_O(1) #2024_01_04_Time_2_ms_(99.52%)_Space_43.6_MB_(75.37%)
// #Big_O_Time_O(n)_Space_O(1) #AI_can_be_used_to_solve_the_task
// #2024_11_09_Time_2_ms_(98.59%)_Space_43.4_MB_(90.39%)

public class Solution {
public int lengthOfLongestSubstring(String s) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package g0001_0100.s0004_median_of_two_sorted_arrays;

// #Hard #Top_100_Liked_Questions #Top_Interview_Questions #Array #Binary_Search #Divide_and_Conquer
// #Big_O_Time_O(log(min(N,M)))_Space_O(1) #2024_01_04_Time_1_ms_(100.00%)_Space_46.5_MB_(7.80%)
// #Big_O_Time_O(log(min(N,M)))_Space_O(1) #AI_can_be_used_to_solve_the_task
// #2024_11_09_Time_1_ms_(100.00%)_Space_46.1_MB_(40.80%)

@SuppressWarnings("java:S2234")
public class Solution {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #String #Dynamic_Programming
// #Data_Structure_II_Day_9_String #Algorithm_II_Day_14_Dynamic_Programming
// #Dynamic_Programming_I_Day_17 #Udemy_Strings #Big_O_Time_O(n)_Space_O(n)
// #2024_01_04_Time_7_ms_(96.96%)_Space_42.7_MB_(66.12%)
// #2024_11_09_Time_7_ms_(97.82%)_Space_43_MB_(66.41%)

public class Solution {
public String longestPalindrome(String s) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package g0001_0100.s0007_reverse_integer;

// #Medium #Top_Interview_Questions #Math #Udemy_Integers
// #2024_01_04_Time_1_ms_(96.61%)_Space_40.9_MB_(11.62%)
// #2024_11_09_Time_0_ms_(100.00%)_Space_40.9_MB_(36.21%)

public class Solution {
public int reverse(int x) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package g0001_0100.s0008_string_to_integer_atoi;

// #Medium #Top_Interview_Questions #String #2024_01_04_Time_1_ms_(100.00%)_Space_42.7_MB_(8.86%)
// #Medium #Top_Interview_Questions #String #2024_11_09_Time_1_ms_(100.00%)_Space_42_MB_(95.40%)

public class Solution {
public int myAtoi(String str) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package g0001_0100.s0009_palindrome_number;

// #Easy #Math #Udemy_Integers #2024_01_04_Time_5_ms_(77.91%)_Space_44.1_MB_(13.06%)
// #Easy #Math #Udemy_Integers #2024_11_09_Time_4_ms_(100.00%)_Space_44.1_MB_(28.20%)

public class Solution {
public boolean isPalindrome(int x) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package g0001_0100.s0010_regular_expression_matching;

// #Hard #Top_Interview_Questions #String #Dynamic_Programming #Recursion #Udemy_Dynamic_Programming
// #Big_O_Time_O(m*n)_Space_O(m*n) #2024_01_04_Time_1_ms_(100.00%)_Space_42.1_MB_(29.26%)
// #Big_O_Time_O(m*n)_Space_O(m*n) #2024_11_09_Time_1_ms_(100.00%)_Space_41.8_MB_(87.69%)

public class Solution {
private Boolean[][] cache;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Greedy #Two_Pointers
// #Algorithm_II_Day_4_Two_Pointers #Big_O_Time_O(n)_Space_O(1)
// #2024_02_11_Time_3_ms_(95.71%)_Space_58.1_MB_(33.16%)
// #2024_11_09_Time_3_ms_(96.01%)_Space_57.8_MB_(52.01%)

public class Solution {
public int maxArea(int[] height) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/g0001_0100/s0015_3sum/Solution.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Sorting #Two_Pointers
// #Data_Structure_II_Day_1_Array #Algorithm_II_Day_3_Two_Pointers #Udemy_Two_Pointers
// #Big_O_Time_O(n*log(n))_Space_O(n^2) #2024_02_11_Time_29_ms_(82.24%)_Space_52.7_MB_(15.37%)
// #Big_O_Time_O(n*log(n))_Space_O(n^2) #2024_11_09_Time_29_ms_(72.02%)_Space_52_MB_(33.13%)

import java.util.ArrayList;
import java.util.Arrays;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #String #Hash_Table #Backtracking
// #Algorithm_II_Day_11_Recursion_Backtracking #Udemy_Backtracking/Recursion
// #Big_O_Time_O(4^n)_Space_O(n) #2024_02_11_Time_0_ms_(100.00%)_Space_41.8_MB_(71.86%)
// #Big_O_Time_O(4^n)_Space_O(n) #2024_11_09_Time_0_ms_(100.00%)_Space_42.3_MB_(28.63%)

import java.util.ArrayList;
import java.util.Collections;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Two_Pointers #Linked_List
// #Algorithm_I_Day_5_Two_Pointers #Level_2_Day_3_Linked_List #Big_O_Time_O(L)_Space_O(L)
// #2024_02_11_Time_0_ms_(100.00%)_Space_41.7_MB_(44.22%)
// #2024_11_09_Time_0_ms_(100.00%)_Space_41.4_MB_(87.28%)

import com_github_leetcode.ListNode;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Easy #Top_100_Liked_Questions #Top_Interview_Questions #String #Stack
// #Data_Structure_I_Day_9_Stack_Queue #Udemy_Strings #Big_O_Time_O(n)_Space_O(n)
// #2024_02_11_Time_1_ms_(98.78%)_Space_41.6_MB_(32.59%)
// #2024_11_09_Time_2_ms_(97.19%)_Space_41.8_MB_(17.32%)

import java.util.Stack;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// #Easy #Top_100_Liked_Questions #Top_Interview_Questions #Linked_List #Recursion
// #Data_Structure_I_Day_7_Linked_List #Algorithm_I_Day_10_Recursion_Backtracking
// #Level_1_Day_3_Linked_List #Udemy_Linked_List #Big_O_Time_O(m+n)_Space_O(m+n)
// #2023_08_09_Time_0_ms_(100.00%)_Space_40.9_MB_(99.19%)
// #2024_11_09_Time_0_ms_(100.00%)_Space_43_MB_(5.04%)

import com_github_leetcode.ListNode;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #String #Dynamic_Programming
// #Backtracking #Algorithm_II_Day_11_Recursion_Backtracking #Udemy_Backtracking/Recursion
// #Big_O_Time_O(2^n)_Space_O(n) #2023_08_09_Time_0_ms_(100.00%)_Space_41.7_MB_(97.17%)
// #Big_O_Time_O(2^n)_Space_O(n) #2024_11_10_Time_0_ms_(100.00%)_Space_42.8_MB_(84.67%)

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Hard #Top_100_Liked_Questions #Top_Interview_Questions #Heap_Priority_Queue #Linked_List
// #Divide_and_Conquer #Merge_Sort #Big_O_Time_O(k*n*log(k))_Space_O(log(k))
// #2023_08_09_Time_1_ms_(100.00%)_Space_42.9_MB_(98.59%)
// #2024_11_10_Time_1_ms_(99.86%)_Space_44.1_MB_(79.93%)

import com_github_leetcode.ListNode;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Medium #Top_100_Liked_Questions #Linked_List #Recursion #Data_Structure_II_Day_12_Linked_List
// #Udemy_Linked_List #Big_O_Time_O(n)_Space_O(1)
// #2023_08_09_Time_0_ms_(100.00%)_Space_40.7_MB_(10.83%)
// #2024_11_10_Time_0_ms_(100.00%)_Space_41.4_MB_(20.29%)

import com_github_leetcode.ListNode;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Hard #Top_100_Liked_Questions #Linked_List #Recursion #Data_Structure_II_Day_13_Linked_List
// #Udemy_Linked_List #Big_O_Time_O(n)_Space_O(k)
// #2023_08_09_Time_0_ms_(100.00%)_Space_43_MB_(88.08%)
// #2024_11_10_Time_0_ms_(100.00%)_Space_44.4_MB_(33.90%)

import com_github_leetcode.ListNode;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package g0001_0100.s0031_next_permutation;

// #Medium #Top_100_Liked_Questions #Array #Two_Pointers #Big_O_Time_O(n)_Space_O(1)
// #2023_08_09_Time_0_ms_(100.00%)_Space_42_MB_(90.28%)
// #2024_11_10_Time_0_ms_(100.00%)_Space_43_MB_(39.33%)

public class Solution {
public void nextPermutation(int[] nums) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package g0001_0100.s0032_longest_valid_parentheses;

// #Hard #Top_100_Liked_Questions #String #Dynamic_Programming #Stack #Big_O_Time_O(n)_Space_O(1)
// #2023_08_09_Time_1_ms_(100.00%)_Space_41.4_MB_(85.22%)
// #2024_11_10_Time_1_ms_(99.74%)_Space_42.2_MB_(80.93%)

public class Solution {
public int longestValidParentheses(String s) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Binary_Search
// #Algorithm_II_Day_1_Binary_Search #Binary_Search_I_Day_11 #Level_2_Day_8_Binary_Search
// #Udemy_Binary_Search #Big_O_Time_O(log_n)_Space_O(1)
// #2023_08_09_Time_0_ms_(100.00%)_Space_40.6_MB_(92.43%)
// #2024_11_10_Time_0_ms_(100.00%)_Space_42.2_MB_(21.10%)

public class Solution {
public int search(int[] nums, int target) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Binary_Search
// #Algorithm_II_Day_1_Binary_Search #Binary_Search_I_Day_5 #Big_O_Time_O(log_n)_Space_O(1)
// #2023_08_09_Time_0_ms_(100.00%)_Space_44.3_MB_(89.57%)
// #2024_11_10_Time_0_ms_(100.00%)_Space_45.7_MB_(82.78%)

public class Solution {
public int[] searchRange(int[] nums, int target) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Easy #Top_100_Liked_Questions #Array #Binary_Search #Algorithm_I_Day_1_Binary_Search
// #Binary_Search_I_Day_2 #Big_O_Time_O(log_n)_Space_O(1)
// #2023_08_09_Time_0_ms_(100.00%)_Space_43.3_MB_(58.21%)
// #2024_11_10_Time_0_ms_(100.00%)_Space_43_MB_(40.42%)

public class Solution {
public int searchInsert(int[] nums, int target) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Medium #Top_100_Liked_Questions #Array #Backtracking #Algorithm_II_Day_10_Recursion_Backtracking
// #Level_2_Day_20_Brute_Force/Backtracking #Udemy_Backtracking/Recursion
// #Big_O_Time_O(2^n)_Space_O(n+2^n) #2023_08_09_Time_1_ms_(100.00%)_Space_43.6_MB_(90.84%)
// #Big_O_Time_O(2^n)_Space_O(n+2^n) #2024_11_10_Time_1_ms_(99.99%)_Space_44.5_MB_(51.73%)

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
package g0001_0100.s0041_first_missing_positive;

// #Hard #Top_100_Liked_Questions #Top_Interview_Questions #Array #Hash_Table #Udemy_Arrays
// #Big_O_Time_O(n)_Space_O(n) #2023_08_11_Time_2_ms_(57.59%)_Space_59.2_MB_(51.48%)
// #Big_O_Time_O(n)_Space_O(n) #2024_11_10_Time_1_ms_(100.00%)_Space_57.5_MB_(31.18%)

public class Solution {
public int firstMissingPositive(int[] nums) {
for (int i = 0; i < nums.length; i++) {
if (nums[i] <= 0 || nums[i] > nums.length || nums[i] == i + 1) {
continue;
while (nums[i] <= nums.length && nums[i] > 0 && nums[nums[i] - 1] != nums[i]) {
int temp = nums[nums[i] - 1];
nums[nums[i] - 1] = nums[i];
nums[i] = temp;
}
dfs(nums, nums[i]);
}
for (int i = 0; i < nums.length; i++) {
if (nums[i] != i + 1) {
Expand All @@ -18,13 +19,4 @@ public int firstMissingPositive(int[] nums) {
}
return nums.length + 1;
}

private void dfs(int[] nums, int val) {
if (val <= 0 || val > nums.length || val == nums[val - 1]) {
return;
}
int temp = nums[val - 1];
nums[val - 1] = val;
dfs(nums, temp);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Hard #Top_100_Liked_Questions #Top_Interview_Questions #Array #Dynamic_Programming #Two_Pointers
// #Stack #Monotonic_Stack #Dynamic_Programming_I_Day_9 #Udemy_Two_Pointers
// #Big_O_Time_O(n)_Space_O(1) #2023_08_11_Time_0_ms_(100.00%)_Space_44.3_MB_(62.40%)
// #Big_O_Time_O(n)_Space_O(1) #2024_11_10_Time_0_ms_(100.00%)_Space_46.2_MB_(57.86%)

public class Solution {
public int trap(int[] height) {
Expand Down
36 changes: 20 additions & 16 deletions src/main/java/g0001_0100/s0045_jump_game_ii/Solution.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,29 @@

// #Medium #Top_100_Liked_Questions #Array #Dynamic_Programming #Greedy
// #Algorithm_II_Day_13_Dynamic_Programming #Dynamic_Programming_I_Day_4
// #Big_O_Time_O(n)_Space_O(1) #2023_08_11_Time_2_ms_(49.02%)_Space_44.7_MB_(52.72%)
// #Big_O_Time_O(n)_Space_O(1) #2024_11_10_Time_0_ms_(100.00%)_Space_45_MB_(64.44%)

public class Solution {
private int getMax(int[] nums, int l, int r) {
int max = -1;
int curr = -1;
for (int i = l; i <= r; i++) {
curr = i + nums[i];
max = Math.max(max, curr);
}
return max;
}

public int jump(int[] nums) {
int length = 0;
int maxLength = 0;
int minJump = 0;
for (int i = 0; i < nums.length - 1; ++i) {
length--;
maxLength--;
maxLength = Math.max(maxLength, nums[i]);
if (length <= 0) {
length = maxLength;
minJump++;
}
if (length >= nums.length - i - 1) {
return minJump;
}
int l = 0;
int r = 0;
int jumps = 0;
while (r < nums.length - 1) {
int prev = r;
r = getMax(nums, l, r);
l = prev + 1;
jumps++;
}
return minJump;
return jumps;
}
}
2 changes: 1 addition & 1 deletion src/main/java/g0001_0100/s0046_permutations/Solution.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Backtracking
// #Algorithm_I_Day_11_Recursion_Backtracking #Level_2_Day_20_Brute_Force/Backtracking
// #Udemy_Backtracking/Recursion #Big_O_Time_O(n*n!)_Space_O(n+n!)
// #2023_08_11_Time_1_ms_(95.07%)_Space_43.7_MB_(87.98%)
// #2024_11_10_Time_1_ms_(94.08%)_Space_45.1_MB_(6.84%)

import java.util.ArrayList;
import java.util.List;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/g0001_0100/s0048_rotate_image/Solution.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Math #Matrix
// #Data_Structure_II_Day_3_Array #Programming_Skills_II_Day_7 #Udemy_2D_Arrays/Matrix
// #Big_O_Time_O(n^2)_Space_O(1) #2023_08_11_Time_0_ms_(100.00%)_Space_41.5_MB_(34.96%)
// #Big_O_Time_O(n^2)_Space_O(1) #2024_11_10_Time_0_ms_(100.00%)_Space_42.2_MB_(43.71%)

public class Solution {
public void rotate(int[][] matrix) {
Expand Down
24 changes: 14 additions & 10 deletions src/main/java/g0001_0100/s0049_group_anagrams/Solution.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,28 @@

// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #String #Hash_Table #Sorting
// #Data_Structure_II_Day_8_String #Programming_Skills_II_Day_11 #Udemy_Strings
// #Big_O_Time_O(n*k_log_k)_Space_O(n) #2023_08_11_Time_6_ms_(92.28%)_Space_46.4_MB_(98.50%)
// #Big_O_Time_O(n*k_log_k)_Space_O(n) #2024_11_11_Time_6_ms_(97.61%)_Space_47.7_MB_(69.56%)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@SuppressWarnings("java:S3824")
public class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> hm = new HashMap<>();
for (String s : strs) {
char[] ch = s.toCharArray();
Arrays.sort(ch);
String temp = new String(ch);
hm.computeIfAbsent(temp, k -> new ArrayList<>());
hm.get(temp).add(s);
Map<String, List<String>> anagrams = new HashMap<>();
for (String word : strs) {
char[] freq = new char[26];
for (char c : word.toCharArray()) {
freq[c - 'a']++;
}
String keyString = new String(freq);
if (!anagrams.containsKey(keyString)) {
anagrams.put(keyString, new ArrayList<>());
}
anagrams.get(keyString).add(word);
}
return (new ArrayList<>(hm.values()));
return new ArrayList<>(anagrams.values());
}
}
Loading

0 comments on commit a1dcd8e

Please sign in to comment.