Решения Swift | LeetCode
1 subscriber
1 link
Download Telegram
Задача: 681. Next Closest Time
Сложность: medium
class Solution {
func nextClosestTime(_ time: String) -> String {
var cur = 60 * Int(time.prefix(2))!
cur += Int(time.suffix(2))!
var allowed = Set(time.filter { $0 != ":" }.map { $0.wholeNumberValue! })

while true {
cur = (cur + 1) % (24 * 60)
let digits = [cur / 60 / 10, cur / 60 % 10, cur % 60 / 10, cur % 60 % 10]
if digits.allSatisfy({ allowed.contains($0) }) {
return String(format: "%02d:%02d", cur / 60, cur % 60)
}
}
}
}