[R1A] 最大奇数
- 难度 入门
- 时限 1s
- 空限 512m
- 模拟
数据规模:,。
思路
逐个读入 ,用 判断是否为奇数,是则与当前答案取较大者。若所有数都不是奇数,答案保持初值 ,直接输出即可。
复杂度:时间 ,空间 。
仓颉实现
import std.env.*
import std.convert.*
main(): Int64 {
let reader = getStdIn()
let n = Int64.parse(reader.readln().getOrThrow())
let a = reader.readln().getOrThrow().split(" ", removeEmpty: true).map({ p => Int64.parse(p) })
var ans: Int64 = -1
for (i in 0..n) {
if (a[i] % 2 != 0 && a[i] > ans) {
ans = a[i]
}
}
println(ans)
return 0
}
要点:
- 数组按题面在第二行一次性读入,行尾多余空格由
split(" ", removeEmpty: true)过滤。 - 答案初值设为 ,天然覆盖「没有奇数」的情况; 全为正数, 判断奇偶不存在负数语义问题。