中级农民
- 积分
- 155
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2014-4-17
- 最后登录
- 1970-1-1
|
如果是最高的小时是11的话,应该是0000 : 的第一位和第二位不能同时出现,这两个可以选一个,然后后面的可以出现, 总共112个,
- public class LEDrespresentTime {
- public static void main(String[] args) {
- List<String> res = getAllTime();
- for (String s : res) {
- System.out.println(s);
- }
- System.out.println(res.size());
- }
- public static List<String> getAllTime() {
- List<String> res = new ArrayList<String>();
- for (int i = 0; i < 10 - 2; i++) {
- for (int j = i + 1; j < 10 - 1; j++) {
- for (int k = j + 1; k < 10; k++) {
- if (i == 0 && j == 1) {
- continue;
- }
- int val = (1 << (10 - i - 1));
- val = (val | (1 << 10 - j - 1));
- val = (val | (1 << 10 - k - 1));
- int hour = (val >> 6);
- int minute = (val & ((1 << 6) - 1));
- String hStr = String.valueOf(hour);
- StringBuilder sb = new StringBuilder();
- if (hStr.length() == 1) {
- sb.append("0");
- }
- sb.append(hStr + ":");
- String mStr = String.valueOf(minute);
- if (mStr.length() == 1) {
- sb.append("0");
- }
- sb.append(mStr);
- res.add(sb.toString());
- }
- }
- }
- return res;
- }
- }
复制代码 |
|