Skip to content

Commit d1cb8ee

Browse files
committed
Improved task 3414
1 parent b95f020 commit d1cb8ee

File tree

1 file changed

+4
-8
lines changed
  • src/main/kotlin/g3401_3500/s3414_maximum_score_of_non_overlapping_intervals

1 file changed

+4
-8
lines changed

src/main/kotlin/g3401_3500/s3414_maximum_score_of_non_overlapping_intervals/Solution.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
package g3401_3500.s3414_maximum_score_of_non_overlapping_intervals
22

33
// #Hard #Array #Dynamic_Programming #Sorting #Binary_Search
4-
// #2025_01_08_Time_920_(100.00%)_Space_112.32_(93.33%)
4+
// #2025_01_09_Time_918_(100.00%)_Space_87.41_(100.00%)
55

66
class Solution {
77
fun maximumWeight(intervals: List<List<Int>>): IntArray {
88
val n = intervals.size
9-
val ns = Array<IntArray>(n) { IntArray(0) }
10-
var p = 0
11-
for (li in intervals) {
12-
ns[p] = intArrayOf(li[0], li[1], li[2], p)
13-
p++
14-
}
9+
val ns = intervals.mapIndexed { index, li -> intArrayOf(li[0], li[1], li[2], index) }.toTypedArray()
10+
ns.sortBy { it[0] }
1511
var dp1 = Array<IntArray>(n) { IntArray(0) }
1612
var dp = LongArray(n)
1713
ns.sortWith { a: IntArray?, b: IntArray? -> a!![0] - b!![0] }
18-
(0..3).forEach { _ ->
14+
repeat(4) {
1915
val dp3 = Array<IntArray>(n) { IntArray(0) }
2016
val dp2 = LongArray(n)
2117
dp3[n - 1] = intArrayOf(ns[n - 1][3])

0 commit comments

Comments
 (0)