Skip to content

Commit 548eca8

Browse files
authored
3sum solution
1 parent 9afbc0b commit 548eca8

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

3sum/yhkee0404.kt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
class Solution {
2+
fun threeSum(nums: IntArray): List<List<Int>> {
3+
val ans = mutableListOf<List<Int>>()
4+
nums.sort()
5+
for (i in 0 until nums.size) {
6+
if (i != 0 && nums[i] == nums[i - 1]) {
7+
continue
8+
}
9+
var j = i + 1
10+
var k = nums.size - 1
11+
while (j < k) {
12+
if (j != i + 1 && nums[j] == nums[j - 1]) {
13+
j++
14+
continue
15+
}
16+
val u = nums[i] + nums[j]
17+
while (j < k && u > - nums[k]) {
18+
k--
19+
}
20+
if (j >= k) {
21+
break
22+
}
23+
if (u == - nums[k]) {
24+
ans.add(listOf(nums[i], nums[j], nums[k]))
25+
}
26+
j++
27+
}
28+
}
29+
return ans
30+
}
31+
}

0 commit comments

Comments
 (0)