diff --git a/src/main/kotlin/g3401_3500/s3408_design_task_manager/TaskManager.kt b/src/main/kotlin/g3401_3500/s3408_design_task_manager/TaskManager.kt index c9f770042..5d8556d72 100644 --- a/src/main/kotlin/g3401_3500/s3408_design_task_manager/TaskManager.kt +++ b/src/main/kotlin/g3401_3500/s3408_design_task_manager/TaskManager.kt @@ -6,17 +6,14 @@ package g3401_3500.s3408_design_task_manager import java.util.TreeSet class TaskManager(tasks: List>) { - private val tasks: TreeSet - private val taskMap: MutableMap + private val tasks: TreeSet = TreeSet( + Comparator { a: IntArray, b: IntArray -> + if (b[2] == a[2]) b[1] - a[1] else b[2] - a[2] + }, + ) + private val taskMap: MutableMap = HashMap() init { - this.tasks = - TreeSet( - Comparator { a: IntArray?, b: IntArray? -> - if (b!![2] == a!![2]) b[1] - a[1] else b[2] - a[2] - }, - ) - this.taskMap = HashMap() for (task in tasks) { val t = intArrayOf(task[0], task[1], task[2]) this.tasks.add(t) diff --git a/src/main/kotlin/g3401_3500/s3419_minimize_the_maximum_edge_weight_of_graph/Solution.kt b/src/main/kotlin/g3401_3500/s3419_minimize_the_maximum_edge_weight_of_graph/Solution.kt index 984799110..3d9288d48 100644 --- a/src/main/kotlin/g3401_3500/s3419_minimize_the_maximum_edge_weight_of_graph/Solution.kt +++ b/src/main/kotlin/g3401_3500/s3419_minimize_the_maximum_edge_weight_of_graph/Solution.kt @@ -10,27 +10,24 @@ import kotlin.math.max @Suppress("unused") class Solution { fun minMaxWeight(n: Int, edges: Array, threshold: Int): Int { - val reversedG: Array?> = arrayOfNulls?>(n) - for (i in 0..() - } + val reversedG: Array> = Array>(n) { ArrayList() } for (i in edges) { val a = i[0] val b = i[1] val w = i[2] - reversedG[b]!!.add(intArrayOf(a, w)) + reversedG[b].add(intArrayOf(a, w)) } val distance = IntArray(n) distance.fill(Int.Companion.MAX_VALUE) distance[0] = 0 - if (reversedG[0]!!.isEmpty()) { + if (reversedG[0].isEmpty()) { return -1 } - val que: Queue = LinkedList() + val que: Queue = LinkedList() que.add(0) while (que.isNotEmpty()) { val cur: Int = que.poll()!! - for (next in reversedG[cur]!!) { + for (next in reversedG[cur]) { val node = next[0] val w = next[1] val nextdis = max(w, distance[cur]) diff --git a/src/main/kotlin/g3401_3500/s3433_count_mentions_per_user/Solution.kt b/src/main/kotlin/g3401_3500/s3433_count_mentions_per_user/Solution.kt index 8c3458c91..0413b0406 100644 --- a/src/main/kotlin/g3401_3500/s3433_count_mentions_per_user/Solution.kt +++ b/src/main/kotlin/g3401_3500/s3433_count_mentions_per_user/Solution.kt @@ -6,7 +6,7 @@ package g3401_3500.s3433_count_mentions_per_user class Solution { fun countMentions(numberOfUsers: Int, events: List>): IntArray { val ans = IntArray(numberOfUsers) - val l: MutableList = ArrayList() + val l: MutableList = ArrayList() var c = 0 for (i in events.indices) { val s = events[i][0] @@ -31,7 +31,7 @@ class Solution { val id = events[i][2].toInt() val a = events[i][1].toInt() + 60 for (j in l.indices) { - if (l[j]!! >= a - 60 && l[j]!! < a) { + if (l[j] >= a - 60 && l[j] < a) { ans[id]-- } } diff --git a/src/main/kotlin/g3401_3500/s3434_maximum_frequency_after_subarray_operation/Solution.kt b/src/main/kotlin/g3401_3500/s3434_maximum_frequency_after_subarray_operation/Solution.kt index 0d7ee1b11..cae5b3f20 100644 --- a/src/main/kotlin/g3401_3500/s3434_maximum_frequency_after_subarray_operation/Solution.kt +++ b/src/main/kotlin/g3401_3500/s3434_maximum_frequency_after_subarray_operation/Solution.kt @@ -7,15 +7,15 @@ import kotlin.math.max class Solution { fun maxFrequency(nums: IntArray, k: Int): Int { - val count: MutableMap = HashMap() + val count: MutableMap = HashMap() for (a in nums) { - count.put(a, count.getOrDefault(a, 0)!! + 1) + count.put(a, count.getOrDefault(a, 0) + 1) } var res = 0 for (b in count.keys) { - res = max(res, kadane(nums, k, b!!)) + res = max(res, kadane(nums, k, b)) } - return count.getOrDefault(k, 0)!! + res + return count.getOrDefault(k, 0) + res } private fun kadane(nums: IntArray, k: Int, b: Int): Int { diff --git a/src/main/kotlin/g3401_3500/s3435_frequencies_of_shortest_supersequences/Solution.kt b/src/main/kotlin/g3401_3500/s3435_frequencies_of_shortest_supersequences/Solution.kt index d40d1c2a9..08c527ff3 100644 --- a/src/main/kotlin/g3401_3500/s3435_frequencies_of_shortest_supersequences/Solution.kt +++ b/src/main/kotlin/g3401_3500/s3435_frequencies_of_shortest_supersequences/Solution.kt @@ -11,7 +11,7 @@ class Solution { private val charToIdx = IntArray(26) private val used = BooleanArray(26) - fun supersequences(words: Array): MutableList?> { + fun supersequences(words: Array): List> { charToIdx.fill(-1) for (w in words) { used[w[0].code - 'a'.code] = true @@ -37,7 +37,7 @@ class Solution { } // Try all supersets of forcedMask; keep those that kill all cycles var best = 9999 - val goodSets: MutableList = ArrayList() + val goodSets: MutableList = ArrayList() for (s in 0..<(1 shl m)) { if ((s and forcedMask) != forcedMask) { continue @@ -52,16 +52,16 @@ class Solution { } } // Build distinct freq arrays from these sets - val seen: MutableSet = HashSet() - val ans: MutableList?> = ArrayList?>() + val seen: MutableSet = HashSet() + val ans: MutableList> = ArrayList>() for (s in goodSets) { val freq = IntArray(26) for (i in 0.. = ArrayList() + val tmp: MutableList = ArrayList() for (f in freq) { tmp.add(f) } diff --git a/src/main/kotlin/g3401_3500/s3472_longest_palindromic_subsequence_after_at_most_k_operations/Solution.kt b/src/main/kotlin/g3401_3500/s3472_longest_palindromic_subsequence_after_at_most_k_operations/Solution.kt index cdd131ecd..e82e147ac 100644 --- a/src/main/kotlin/g3401_3500/s3472_longest_palindromic_subsequence_after_at_most_k_operations/Solution.kt +++ b/src/main/kotlin/g3401_3500/s3472_longest_palindromic_subsequence_after_at_most_k_operations/Solution.kt @@ -12,7 +12,7 @@ class Solution { val arr = Array(26) { IntArray(26) } for (i in 0..25) { for (j in 0..25) { - arr[i][j] = min(abs(i - j), (26 - abs(i - j))) + arr[i][j] = min(abs(i - j), 26 - abs(i - j)) } } val dp = Array>(n) { Array(n) { IntArray(k + 1) } }