【leetcode]次に近い時間

それは4 * 4 * 4 * 4種類あるので、実際には、暴力は、解決策になることができます

クラスソリューション:
    デフのfindNext(自己、CHAR、NUMS):
        私は0 = 
        I <lenは(NUMS)ながらの:
            :NUMS [i]を== CHAR場合
                I = LEN(NUMS)の場合- 1:!
                    リターンNUMS [I + 1 ] 
                他:
                    戻りなし
            I + = 1つの
        戻りなし
    
    nextClosestTime DEF(自己、時間:STR) - > STR:
        NUMS = [] 
        iについて[0、1、3、4]:
            もし時間[i]がないNUMSで:
                nums.append(時間[i])と
        NUMS =ソート(NUMS)
        
        C4 = self.findNext(時間[4]、NUMS) 
        C4およびINT(時間[3] + C4)<60であれば:
            復帰時間[4] + C4
        C3 = self.findNext(時間[3]、NUMS)
        :C3及びINT(C3 + NUMS [0])<60であれば
            、戻り時間[3] + C3 + NUMS [0] 
        C1 = self.findNext(時間[1 ]、NUMS)
        C1及びINT(時間[0] + C1)<= 24であれば:
            復帰時間[0] + C1 + ':' + NUMS [0] + NUMS [0] 
        C0 = self.findNext(時間[0 ]、NUMS)
        もしC0およびINT(C0 + NUMS [0])<= 24:
            戻りC0 + NUMS [0] + ':' + NUMS [0] + NUMS [0]に
        戻りNUMS [0] + NUMS [0 ] + ':' + NUMS [0] + NUMS [0]
        

  

おすすめ

転載: www.cnblogs.com/lautsie/p/12244495.html
おすすめ