(G) Binary Watch
Last updated
Last updated
题目是binary watch:上边是小时,下边是分钟,最左边最significant,最右边为1。给你数字n,return所有可能的时间,以string为表达形式.
E.G. 给你1,那return:{0:00,1:00,2:00,4:00,8:00,0:01.........}
这题挺简单的,就是一个简单位运算和 mask + dfs 枚举。
0x12345678 的 hex-decimal 表示方式中,一个数代表 4 bit,0-9 a-f 总共代表 16 个数;
位数不到 8 个的说明前面默认都是 0;
0x0000003f = 0000 0000 ...0011 1111,最后一个位段是 1111 = f,前面那个 0011 = 3;
为了避免重复,进一步剪枝,这题要像 combination 一样传一个 index ,单调往后扫。