17
模拟我的笨老闹钟
我有一个带两个按钮的笨拙的旧闹钟:hour和minute。该hour按钮增加设置警报的小时数,并minute增加设置警报的分钟数。但是,一些聪明的设计师意识到同时按下两个按钮应该具有一定的意义,因此决定同时按下hour和minute将导致警报设置为12:00 am/ 0:00。您的任务是模拟此行为。 任务 给定开始时间和一系列按钮状态,请确定结束时间。 从开始时间开始,增加每次出现的小时的时间,增加每次出现(1,0)的分钟(0,1)的时间,并将每次出现的时间设置0:00为(1,1)。状态(0,0)应被忽略,因为它们与两个按钮都不对应。 当加上分钟和小时时,如果分钟/小时超过最大值,则将其设置为0,即,增加分钟值59应将分钟值设置为0,增加小时值23应将小时值设置为0。将分钟/小时值增加到它们的限制以上不会影响其他值,例如增加10:59产量的分钟10:00,而不是增加11:00。 例 给定输入时间13:58和步骤[(0,1),(0,1),(0,1),(0,0),(1,1),(1,0)], (0,1)。这相当于minute被按下。现在是时候了13:59。 (0,1)。这相当于minute被按下。现在是时候了13:00。 (0,1)。这相当于minute被按下。现在是时候了13:01。 (0,0)。这对应于两个按钮均未被按下。现在不受影响的时间13:01 (1,1)。这对应于两个按钮都被按下。现在是时候了0:00。 (1,0)这相当于hour被按下。现在是时候了1:00。 因为我们以结尾1:00,所以它是输出。 输入输出 输入将包含一个时间和一系列按钮状态。输出是单个时间。 输入时间和输出时间可能是 (hour, minute)或(minute, hour)以24小时为单位的2元组,例如(13, 30)(hour范围从0至23,minute范围从0至59) 同前,但在12-Hour时间和布尔am/ pm开关(hour范围为0到11或12并1以11与minute从0至59)。 此后的分钟数,0:00例如810(从0到1439,包括0) 编码相同信息的任何其他格式 按钮状态的序列表示布尔2元组的列表,例如: 元组列表: [(0,1),(1,0),(0,0),(1,1)] 用空格分隔的字符串: "01 10 00 11" 字符串: "01100011" 在第四纪: [1,2,0,3] 转换为整数: 99 编码相同信息的任何其他格式 测试用例 time,steps -> output 06:49,[(0, 1)] -> 06:50 …