Skip to content

Commit 963f8a9

Browse files
committed
Improved min and max
1 parent 5d01592 commit 963f8a9

File tree

28 files changed

+48
-52
lines changed
  • src/main/kotlin
    • g2801_2900
    • g2901_3000
      • s2908_minimum_sum_of_mountain_triplets_i
      • s2909_minimum_sum_of_mountain_triplets_ii
      • s2911_minimum_changes_to_make_k_semi_palindromes
      • s2926_maximum_balanced_subsequence_sum
      • s2944_minimum_number_of_coins_for_fruits
      • s2954_count_the_number_of_infection_sequences
      • s2958_length_of_longest_subarray_with_at_most_k_frequency
    • g3001_3100
    • g3101_3200
    • g3201_3300
    • g3301_3400
      • s3327_check_if_dfs_strings_are_palindromes
      • s3372_maximize_the_number_of_target_nodes_after_connecting_trees_i
      • s3394_check_if_grid_can_be_cut_into_sections
    • g3401_3500
    • g3501_3600/s3508_implement_router

28 files changed

+48
-52
lines changed

src/main/kotlin/g2801_2900/s2865_beautiful_towers_i/Solution.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ class Solution {
1010
var ans = maxHeights[pickId].toLong()
1111
var min = maxHeights[pickId].toLong()
1212
for (i in pickId - 1 downTo 0) {
13-
min = min(min.toDouble(), maxHeights[i].toDouble()).toLong()
13+
min = min(min, maxHeights[i].toLong())
1414
ans += min
1515
}
1616
min = maxHeights[pickId].toLong()
1717
for (i in pickId + 1 until maxHeights.size) {
18-
min = min(min.toDouble(), maxHeights[i].toDouble()).toLong()
18+
min = min(min, maxHeights[i].toLong())
1919
ans += min
2020
}
2121
return ans
@@ -30,7 +30,7 @@ class Solution {
3030
maxHeights[i] >= maxHeights[i + 1]
3131
)
3232
) {
33-
ans = max(ans.toDouble(), `fun`(maxHeights, i).toDouble()).toLong()
33+
ans = max(ans, `fun`(maxHeights, i))
3434
}
3535
}
3636
return ans

src/main/kotlin/g2801_2900/s2874_maximum_value_of_an_ordered_triplet_ii/Solution.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ class Solution {
1010
var tempMax = nums[0]
1111
for (i in 1 until diff.size - 1) {
1212
diff[i] = tempMax - nums[i]
13-
tempMax = max(tempMax.toDouble(), nums[i].toDouble()).toInt()
13+
tempMax = max(tempMax, nums[i])
1414
}
1515
var max = Long.MIN_VALUE
1616
tempMax = nums[nums.size - 1]
1717
for (i in nums.size - 2 downTo 1) {
18-
max = max(max.toDouble(), (tempMax.toLong() * diff[i]).toDouble()).toLong()
19-
tempMax = max(tempMax.toDouble(), nums[i].toDouble()).toInt()
18+
max = max(max, tempMax.toLong() * diff[i])
19+
tempMax = max(tempMax, nums[i])
2020
}
21-
return max(max.toDouble(), 0.0).toLong()
21+
return max(max, 0)
2222
}
2323
}

src/main/kotlin/g2801_2900/s2896_apply_operations_to_make_two_strings_equal/Solution.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,12 @@ class Solution {
2121
}
2222
val dp = IntArray(m)
2323
dp[0] = 0
24-
dp[1] = min(x.toDouble(), (diffs[1] - diffs[0]).toDouble()).toInt()
24+
dp[1] = min(x, diffs[1] - diffs[0])
2525
for (i in 2 until m) {
2626
if ((i and 1) == 1) {
27-
dp[i] = min((dp[i - 1] + x).toDouble(), (dp[i - 2] + diffs[i] - diffs[i - 1]).toDouble())
28-
.toInt()
27+
dp[i] = min(dp[i - 1] + x, dp[i - 2] + diffs[i] - diffs[i - 1])
2928
} else {
30-
dp[i] = min(dp[i - 1].toDouble(), (dp[i - 2] + diffs[i] - diffs[i - 1]).toDouble())
31-
.toInt()
29+
dp[i] = min(dp[i - 1], dp[i - 2] + diffs[i] - diffs[i - 1])
3230
}
3331
}
3432
return dp[m - 1]

src/main/kotlin/g2901_3000/s2908_minimum_sum_of_mountain_triplets_i/Solution.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class Solution {
1515
for (k in j + 1 until nums.size) {
1616
if (nums[i] < nums[j] && nums[k] < nums[j]) {
1717
val min = nums[i] + nums[k] + nums[j]
18-
output = min(min.toDouble(), output.toDouble()).toInt()
18+
output = min(min, output)
1919
}
2020
}
2121
}

src/main/kotlin/g2901_3000/s2909_minimum_sum_of_mountain_triplets_ii/Solution.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ class Solution {
3232
var ans = Int.MAX_VALUE
3333
for (i in 0 until n) {
3434
if (leftSmallest[i] != -1 && rightSmallest[i] != -1) {
35-
ans = min(ans.toDouble(), (leftSmallest[i] + rightSmallest[i] + nums[i]).toDouble())
36-
.toInt()
35+
ans = min(ans, leftSmallest[i] + rightSmallest[i] + nums[i])
3736
}
3837
}
3938
if (ans == Int.MAX_VALUE) {

src/main/kotlin/g2901_3000/s2911_minimum_changes_to_make_k_semi_palindromes/Solution.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class Solution {
2828
}
2929
var min = INF
3030
for (j in (k - 1) * 2 until (i - 1)) {
31-
min = min(min.toDouble(), (calc(j, k - 1) + change(j, i)).toDouble()).toInt()
31+
min = min(min, calc(j, k - 1) + change(j, i))
3232
}
3333
dp[i][k] = min
3434
return min

src/main/kotlin/g2901_3000/s2926_maximum_balanced_subsequence_sum/Solution.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class Solution {
6868
var index = index
6969
var result: Long = 0
7070
while (index > 0) {
71-
result = max(tree[index].toDouble(), result.toDouble()).toLong()
71+
result = max(tree[index], result)
7272
index -= lowbit(index)
7373
}
7474
return result

src/main/kotlin/g2901_3000/s2944_minimum_number_of_coins_for_fruits/Solution.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class Solution {
1616
if (acquired + 1 < n) {
1717
var min = Int.MAX_VALUE
1818
for (j in acquired + 1 downTo i + 1) {
19-
min = min(min.toDouble(), dp[j].toDouble()).toInt()
19+
min = min(min, dp[j])
2020
}
2121
dp[i] = prices[i] + min
2222
} else {

src/main/kotlin/g2901_3000/s2954_count_the_number_of_infection_sequences/Solution.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class Solution {
4040
var res: Long = 1
4141
for (i in 1 until sick.size) {
4242
val group = sick[i] - sick[i - 1] - 1
43-
res = res * modPow(2, max(0.0, (group - 1).toDouble()).toInt(), MOD) % MOD
43+
res = res * modPow(2, max(0, group - 1), MOD) % MOD
4444
res = res * binomCoeff(sick[i] - i, group) % MOD
4545
}
4646
return (res * binomCoeff(n - sick.size, n - sick[sick.size - 1] - 1) % MOD).toInt()

src/main/kotlin/g2901_3000/s2958_length_of_longest_subarray_with_at_most_k_frequency/Solution.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ class Solution {
1010
var m1 = Int.MIN_VALUE
1111
var m2 = Int.MAX_VALUE
1212
for (num in nums) {
13-
m1 = max(m1.toDouble(), num.toDouble()).toInt()
14-
m2 = min(m2.toDouble(), num.toDouble()).toInt()
13+
m1 = max(m1, num)
14+
m2 = min(m2, num)
1515
}
1616
var max = 0
1717
val f = IntArray(m1 - m2 + 1)

0 commit comments

Comments
 (0)