Skip to content

Commit 94e62c3

Browse files
committed
Improved task 3448
1 parent cf9f756 commit 94e62c3

File tree

1 file changed

+6
-6
lines changed
  • src/main/kotlin/g3401_3500/s3448_count_substrings_divisible_by_last_digit

1 file changed

+6
-6
lines changed

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class Solution {
1212
computeModArrays(s, p3, p7, p9)
1313
val freq3 = LongArray(3)
1414
val freq9 = LongArray(9)
15-
val freq7 = Array<LongArray?>(6) { LongArray(7) }
15+
val freq7 = Array<LongArray>(6) { LongArray(7) }
1616
val inv7 = intArrayOf(1, 5, 4, 6, 2, 3)
1717
return countValidSubstrings(s, p3, p7, p9, freq3, freq9, freq7, inv7)
1818
}
@@ -36,7 +36,7 @@ class Solution {
3636
p9: IntArray,
3737
freq3: LongArray,
3838
freq9: LongArray,
39-
freq7: Array<LongArray?>,
39+
freq7: Array<LongArray>,
4040
inv7: IntArray,
4141
): Long {
4242
var ans: Long = 0
@@ -46,7 +46,7 @@ class Solution {
4646
ans += countDivisibilityCases(s, j, d, p3, p7, p9, freq3, freq9, freq7, inv7)
4747
}
4848
freq3[p3[j]]++
49-
freq7[j % 6]!![p7[j]] = freq7[j % 6]!![p7[j]] + 1
49+
freq7[j % 6][p7[j]] = freq7[j % 6][p7[j]] + 1
5050
freq9[p9[j]]++
5151
}
5252
return ans
@@ -61,7 +61,7 @@ class Solution {
6161
p9: IntArray,
6262
freq3: LongArray,
6363
freq9: LongArray,
64-
freq7: Array<LongArray?>,
64+
freq7: Array<LongArray>,
6565
inv7: IntArray,
6666
): Long {
6767
var ans: Long = 0
@@ -102,12 +102,12 @@ class Solution {
102102
return (if (num3 % 8 == 0) j - 1 else 0) + (if (num2 % 8 == 0) 1 else 0) + 1L
103103
}
104104

105-
private fun countDivisibilityBy7(j: Int, p7: IntArray, freq7: Array<LongArray?>, inv7: IntArray): Long {
105+
private fun countDivisibilityBy7(j: Int, p7: IntArray, freq7: Array<LongArray>, inv7: IntArray): Long {
106106
var ans = (if (p7[j] == 0) 1L else 0L)
107107
for (m in 0..5) {
108108
val idx = ((j % 6) - m + 6) % 6
109109
val req = (p7[j] * inv7[m]) % 7
110-
ans += freq7[idx]!![req]
110+
ans += freq7[idx][req]
111111
}
112112
return ans
113113
}

0 commit comments

Comments
 (0)