每日一题---力扣算法题 401. 二进制手表

简介: 每日一题---力扣算法题 401. 二进制手表

问题描述:

二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。

题解:

public List<String> readBinaryWatch(int turnedOn) {
        // 返回集合,先整个集合
        List<String> list = new ArrayList<>();
        // 0:00 到 11:59 遍历
        for (int i = 0; i <= 12; i++) {
            for (int j = 0; j <= 60; j++) {
                if (count(i) + count(j) == turnedOn) {
                    list.add(i+":"+( j>10 ? j + "" : "0" + j));
                }
            }
        }
        return list;
    }
    /**
     * 确定数字对应二进制中 1 的个数
     * @param num
     * @return
     */
    int count(int num) {
        int res = 0;
        while (num != 0) {
            num = num & (num - 1);
            res ++;
        }
        return res;
    }

知识点:

这里用到

是确定一个十位制数转化为二进制数后是否有 1 的,如果有num != 0 ,如果没有num == 0.


相关文章
|
3月前
|
算法
Leetcode 初级算法 --- 数组篇
Leetcode 初级算法 --- 数组篇
49 0
|
11天前
|
算法 容器
【算法】——双指针算法合集(力扣)
移动零,复写零,快乐数,盛最多水的容器,有效三角形的个数,和为s的两个数(查找总价格为目标值的两个商品 ),三数之和,四数之和
|
2月前
|
存储 算法 Java
leetcode算法题-有效的括号(简单)
【11月更文挑战第5天】本文介绍了 LeetCode 上“有效的括号”这道题的解法。题目要求判断一个只包含括号字符的字符串是否有效。有效字符串需满足左括号必须用相同类型的右括号闭合,并且左括号必须以正确的顺序闭合。解题思路是使用栈数据结构,遍历字符串时将左括号压入栈中,遇到右括号时检查栈顶元素是否匹配。最后根据栈是否为空来判断字符串中的括号是否有效。示例代码包括 Python 和 Java 版本。
|
3月前
|
算法
【链表】算法题(二) ----- 力扣/牛客
【链表】算法题(二) ----- 力扣/牛客
|
3月前
|
算法 数据挖掘
【栈和队列】算法题 ---- 力扣(二)
【栈和队列】算法题 ---- 力扣
|
3月前
|
存储 算法
【栈和队列】算法题 ---- 力扣(一)
【栈和队列】算法题 ---- 力扣
|
3月前
|
算法
【链表】算法题(一) ----- 力扣 / 牛客
【链表】算法题(一) ----- 力扣 / 牛客
|
3月前
|
算法
【顺序表】算法题 --- 力扣
【顺序表】算法题 --- 力扣
|
5月前
|
算法
测试工程师的技能升级:LeetCode算法挑战与职业成长
这篇文章通过作者亲身体验LeetCode算法题的过程,探讨了测试工程师学习算法的重要性,并强调了算法技能对于测试职业成长的必要性。
86 1
测试工程师的技能升级:LeetCode算法挑战与职业成长