Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitba673e7

Browse files
authored
Improved task 15
1 parent5d3cd42 commitba673e7

File tree

3 files changed

+19
-14
lines changed

3 files changed

+19
-14
lines changed

‎README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.24'
174174
|<!----> |<!----> |<!----> |<!----> |<!----> |<!---->
175175
|-|-|-|-|-|-
176176
| 0082 |[Remove Duplicates from Sorted List II](src/main/java/g0001_0100/s0082_remove_duplicates_from_sorted_list_ii/Solution.java)| Medium | Two_Pointers, Linked_List | 0 | 100.00
177-
| 0015 |[3Sum](src/main/java/g0001_0100/s0015_3sum/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n^2)_Space_O(1) | 27 | 97.93
177+
| 0015 |[3Sum](src/main/java/g0001_0100/s0015_3sum/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n*log(n))_Space_O(n^2) | 27 | 97.93
178178

179179
####Day 4 Two Pointers
180180

@@ -1443,7 +1443,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.24'
14431443
| 0977 |[Squares of a Sorted Array](src/main/java/g0901_1000/s0977_squares_of_a_sorted_array/Solution.java)| Easy | Array, Sorting, Two_Pointers | 1 | 100.00
14441444
| 0026 |[Remove Duplicates from Sorted Array](src/main/java/g0001_0100/s0026_remove_duplicates_from_sorted_array/Solution.java)| Easy | Top_Interview_Questions, Array, Two_Pointers | 1 | 98.56
14451445
| 0042 |[Trapping Rain Water](src/main/java/g0001_0100/s0042_trapping_rain_water/Solution.java)| Hard | Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) | 0 | 100.00
1446-
| 0015 |[3Sum](src/main/java/g0001_0100/s0015_3sum/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n^2)_Space_O(1) | 27 | 97.93
1446+
| 0015 |[3Sum](src/main/java/g0001_0100/s0015_3sum/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n*log(n))_Space_O(n^2) | 27 | 97.93
14471447

14481448
####Udemy Famous Algorithm
14491449

@@ -1695,7 +1695,7 @@ implementation 'com.github.javadev:leetcode-in-java:1.24'
16951695
|-|-|-|-|-|-
16961696
| 0136 |[Single Number](src/main/java/g0101_0200/s0136_single_number/Solution.java)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) | 1 | 99.97
16971697
| 0169 |[Majority Element](src/main/java/g0101_0200/s0169_majority_element/Solution.java)| Easy | Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) | 1 | 100.00
1698-
| 0015 |[3Sum](src/main/java/g0001_0100/s0015_3sum/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n^2)_Space_O(1) | 27 | 97.93
1698+
| 0015 |[3Sum](src/main/java/g0001_0100/s0015_3sum/Solution.java)| Medium | Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n*log(n))_Space_O(n^2) | 27 | 97.93
16991699

17001700
####Day 2 Array
17011701

‎src/main/java/g0001_0100/s0015_3sum/Solution.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Sorting #Two_Pointers
44
// #Data_Structure_II_Day_1_Array #Algorithm_II_Day_3_Two_Pointers #Udemy_Two_Pointers
5-
// #Big_O_Time_O(n^2)_Space_O(1) #2023_08_09_Time_27_ms_(97.93%)_Space_51.7_MB_(23.15%)
5+
// #Big_O_Time_O(n*log(n))_Space_O(n^2) #2023_08_09_Time_27_ms_(97.93%)_Space_51.7_MB_(23.15%)
66

77
importjava.util.ArrayList;
88
importjava.util.Arrays;
Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
11
**Time Complexity (Big O Time):**
22

3-
Thetime complexity of this program isO(n^2), where"n" represents thenumber ofelements inthe`nums`array. Here's the breakdown:
3+
1. Sorting:Theprogram sorts the input array`nums`. Sorting typically takesO(n * log(n)) time complexity, where'n' is thelength of the array.
44

5-
1.The programstarts by sortingthe`nums` array, which has a time complexity of O(n * log(n)), where "n" isthelength of the array.
5+
2. Main Loop:The programuses nested loops. The outer loop runs from 0 to`len - 2`, where`len` isthelength of the sorted array`nums`. The inner while loop has two pointers (`l` and`r`) that move towards each other. Intheworst case, theinner loop can go through the entirearray, so its time complexity is O(n).
66

7-
2. After sorting, the program uses nested loops:
8-
- The outer loop runs for`i` from 0 to`len - 2`, where "len" is the length of the array. This loop iterates through each element of the array once, so it has a time complexity of O(n).
7+
3. The code inside the inner loop contains constant-time operations, such as addition, comparison, and list creation.
98

10-
- The inner loop uses two pointers (`l` and`r`) and runs until`r`isgreater than`l`. Within the innerloop, constant-time operations are performed, such as calculating the sumofthree elements and adjustingthepointers.
9+
Overall, the dominant time complexity is determined by the sorting step, whichisO(n * log(n)). Theloop inside the sorting step has a complexityofO(n), but it doesn't dominatetheoverall complexity.
1110

12-
3. Inside the inner loop, there are additional while loops that skip duplicate elements. These while loops also perform constant-time operations.
13-
14-
Since the sorting step has a time complexity of O(n * log(n)), and the nested loops contribute O(n) iterations, the overall time complexity is dominated by the sorting step, resulting in O(n * log(n)).
11+
So, the total time complexity of the program is O(n * log(n)) due to the sorting step.
1512

1613
**Space Complexity (Big O Space):**
1714

18-
The space complexity of this program is O(1) because it uses a constant amount of extra space. The program creates a few integer variables (`l`,`r`,`sum`, and`len`), but the space used by these variables is independent of the input size. Additionally, the`result` list stores the output, but its space is not considered part of the space complexity analysis, as it's required to store the program's output.
15+
The space complexity of the program is determined by the space used for the output list`result`. In the worst case, when there are many unique triplets that sum to zero, the size of`result` can be significant.
16+
17+
1. The input array`nums` and the variables`len`,`l`, and`r` all use constant space.
18+
19+
2. The`result` list stores the triplets, and its size can be at most O(n^2) when there are many unique triplets.
20+
21+
3. Other variables and temporary lists used inside the loops use constant space.
22+
23+
So, the space complexity of the program is O(n^2) for the`result` list when considering the worst case.
1924

20-
Therefore, theoverallspace complexityis O(1).
25+
In summary, theprovided program has a time complexity of O(n * log(n)) due to sorting and aspace complexityof O(n^2) for the`result` list when considering the worst-case scenario.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp