Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated tasks 1-208 #34

Merged
merged 1 commit into from
Nov 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading