我创建了一个名为readBinaryWatch的函数,出于某些原因,当我的num = 2时,我得到了答案1.15。经过长时间的调试后,我仍然无法弄清楚为什么我的解决方案中有1:15而不是1:16
当我输入print语句时,你可以告诉我的h,m打印
1.08
1.0 0.08 8.0
['3:00','5:00','9:00','1:01','1:02','1:04','1:08']
1.16
1.0 0.16 16.0
['3:00','5:00','9:00','1:01','1:02','1:04','1:08','1:15 “] 问题是 1:15来自哪里!?!??!请帮忙。
这是代码
def readBinaryWatch(num):
"""
:type num: int
:rtype: List[str]
"""
time=[1,2,4,8,.01,.02,.04,.08,.16,.32]
def dfs(i,n,path):
if not n:
print path
h,m=divmod(path,1)
print h,m,m*100
ret.append('%d:%02d' % (h, m*100))
print ret
for j in xrange(i,len(time)):
dfs(j+1,n-1,path+time[j])
ret=[]
dfs(0,num,0)
return ret