華為OD機(jī)試-- 解密犯罪時間

題目
警察在偵破一個案件時,得到了線人給出的可能犯罪時間,形如 “HH:MM” 表示的時刻。
根據(jù)警察和線人的約定,為了隱蔽,該時間是修改過的,
解密規(guī)則為:利用當(dāng)前出現(xiàn)過的數(shù)字,構(gòu)造下一個距離當(dāng)前時間最近的時刻,則該時間為可能的犯罪時間。
每個出現(xiàn)數(shù)字都可以被無限次使用。
輸入描述
形如HH:SS字符串,表示原始輸入。
輸出描述
形如HH:SS的字符串,表示推理處理的犯罪時間。
備注
1.可以保證現(xiàn)任給定的字符串一定是合法的。
例如,“01:35”和“11:08”是合法的,“1:35”和“11:8”是不合法的。
2.最近的時刻可能在第二天。
示例
20:12得到20:20
23:59得到22:22
12:58得到15:11
18:52得到18:55
23:52得到23:53
09:17得到09:19
07:08得到08:00
思路
1:先搞明白題目吧,這題目第一遍看還挺繞,就是只能用輸入的四個數(shù)組組裝成下一個最近的時間,且數(shù)字可以重復(fù)使用。
2:如果只有四個數(shù)字,可以重復(fù)使用,那么最多也就4^4種情況,我們分別算出各個組合的時間大小,轉(zhuǎn)成分鐘數(shù)之后,比較一下就行。
3:注意一些特殊情況,比如時間的各位置上的取值范圍。
Java 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/130786390
Python實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/130786398
C++ 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/127321926
JavaScript實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/130786378
C實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131493136