P401 二进制手表


题目

image-20210621151544616

分析

  • 暴力枚举小时和分钟
  • 使用语言自带的位统计函数(Java是Integer.bitCount)选出满足条件的加入返回结果

题解

1
2
3
4
5
6
7
8
9
List<String> result = new ArrayList<>();
for(int hour=0;hour<12;hour++){
for(int min=0;min<60;min++){
if(Integer.bitCount(hour)+Integer.bitCount(min)==turnedOn){
result.add(hour+":"+(min>=10?min:("0"+min)));
}
}
}
return result;
  • 无论输入如何都花费固定时间和空间
时间复杂度 空间复杂度
O(1) O(1)

一点屁话

  • 真是神奇的手表

← Prev 剑指 Offer 15. 二进制中1的个数 | 安卓开发入门9-Activity生命周期 Next →