Skip to content

Commit 9ed82ae

Browse files
committed
Improved tasks
1 parent 17230dc commit 9ed82ae

File tree

2 files changed

+20
-20
lines changed
  • src/main/kotlin/g3501_3600
    • s3552_grid_teleportation_traversal
    • s3553_minimum_weighted_subgraph_with_the_required_paths_ii

2 files changed

+20
-20
lines changed

src/main/kotlin/g3501_3600/s3552_grid_teleportation_traversal/Solution.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,31 +25,31 @@ class Solution {
2525

2626
private fun initializeQueue(
2727
queue: Queue<IntArray>,
28-
visited: Array<BooleanArray?>,
28+
visited: Array<BooleanArray>,
2929
matrix: Array<String>,
3030
portalsToPositions: Array<MutableList<IntArray>>,
3131
) {
3232
if (matrix[0][0] != '.') {
3333
val idx = matrix[0][0].code - 'A'.code
3434
for (pos in portalsToPositions[idx]) {
3535
queue.offer(pos)
36-
visited[pos[0]]!![pos[1]] = true
36+
visited[pos[0]][pos[1]] = true
3737
}
3838
} else {
3939
queue.offer(intArrayOf(0, 0))
4040
}
41-
visited[0]!![0] = true
41+
visited[0][0] = true
4242
}
4343

4444
private fun isValidMove(
4545
r: Int,
4646
c: Int,
4747
m: Int,
4848
n: Int,
49-
visited: Array<BooleanArray?>,
49+
visited: Array<BooleanArray>,
5050
matrix: Array<String>,
5151
): Boolean {
52-
return !(r < 0 || r == m || c < 0 || c == n || visited[r]!![c] || matrix[r][c] == '#')
52+
return !(r < 0 || r == m || c < 0 || c == n || visited[r][c] || matrix[r][c] == '#')
5353
}
5454

5555
private fun processPortal(
@@ -58,7 +58,7 @@ class Solution {
5858
m: Int,
5959
n: Int,
6060
queue: Queue<IntArray>,
61-
visited: Array<BooleanArray?>,
61+
visited: Array<BooleanArray>,
6262
matrix: Array<String>,
6363
portalsToPositions: Array<MutableList<IntArray>>,
6464
): Boolean {
@@ -68,7 +68,7 @@ class Solution {
6868
return true
6969
}
7070
queue.offer(pos)
71-
visited[pos[0]]!![pos[1]] = true
71+
visited[pos[0]][pos[1]] = true
7272
}
7373
return false
7474
}
@@ -85,7 +85,7 @@ class Solution {
8585
return 0
8686
}
8787
val portalsToPositions = initializePortals(m, n, matrix)
88-
val visited = Array<BooleanArray?>(m) { BooleanArray(n) }
88+
val visited = Array<BooleanArray>(m) { BooleanArray(n) }
8989
val queue: Queue<IntArray> = LinkedList()
9090
initializeQueue(queue, visited, matrix, portalsToPositions)
9191
var moves = 0
@@ -108,7 +108,7 @@ class Solution {
108108
return moves + 1
109109
}
110110
queue.offer(intArrayOf(r, c))
111-
visited[r]!![c] = true
111+
visited[r][c] = true
112112
}
113113
}
114114
}

src/main/kotlin/g3501_3600/s3553_minimum_weighted_subgraph_with_the_required_paths_ii/Solution.kt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ package g3501_3600.s3553_minimum_weighted_subgraph_with_the_required_paths_ii
55
import kotlin.math.max
66

77
class Solution {
8-
private lateinit var graph: Array<MutableList<IntArray>?>
8+
private lateinit var graph: Array<MutableList<IntArray>>
99
private lateinit var euler: IntArray
1010
private lateinit var depth: IntArray
1111
private lateinit var firstcome: IntArray
12-
private lateinit var sparseT: Array<IntArray?>
12+
private lateinit var sparseT: Array<IntArray>
1313
private var times = 0
1414
private lateinit var dists: LongArray
1515

@@ -24,8 +24,8 @@ class Solution {
2424
val u = e[0]
2525
val v = e[1]
2626
val w = e[2]
27-
graph[u]!!.add(intArrayOf(v, w))
28-
graph[v]!!.add(intArrayOf(u, w))
27+
graph[u].add(intArrayOf(v, w))
28+
graph[v].add(intArrayOf(u, w))
2929
}
3030
val m = 2 * p - 1
3131
euler = IntArray(m)
@@ -57,7 +57,7 @@ class Solution {
5757
}
5858
times++
5959
dists[node] = distSoFar
60-
for (edge in graph[node]!!) {
60+
for (edge in graph[node]) {
6161
val nxt = edge[0]
6262
val w = edge[1]
6363
if (nxt == parent) {
@@ -77,14 +77,14 @@ class Solution {
7777
}
7878
sparseT = Array(log) { IntArray(length) }
7979
for (i in 0..<length) {
80-
sparseT[0]!![i] = i
80+
sparseT[0][i] = i
8181
}
8282
for (k in 1..<log) {
8383
var i = 0
8484
while (i + (1 shl k) <= length) {
85-
val left = sparseT[k - 1]!![i]
86-
val right = sparseT[k - 1]!![i + (1 shl (k - 1))]
87-
sparseT[k]!![i] = if (depth[left] < depth[right]) left else right
85+
val left = sparseT[k - 1][i]
86+
val right = sparseT[k - 1][i + (1 shl (k - 1))]
87+
sparseT[k][i] = if (depth[left] < depth[right]) left else right
8888
i++
8989
}
9090
}
@@ -100,8 +100,8 @@ class Solution {
100100
}
101101
val length = r - l + 1
102102
val k = 31 - Integer.numberOfLeadingZeros(length)
103-
val left = sparseT[k]!![l]
104-
val right = sparseT[k]!![r - (1 shl k) + 1]
103+
val left = sparseT[k][l]
104+
val right = sparseT[k][r - (1 shl k) + 1]
105105
return if (depth[left] < depth[right]) left else right
106106
}
107107

0 commit comments

Comments
 (0)