当前位置: 首页 > news >正文

【每日一题】LeetCode 401. 二进制手表

Link

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

给你一个整数 turnedOn ,表示当前亮着的 LED 的数量,返回二进制手表可以表示的所有可能时间。你可以按任意顺序返回答案。

  • 小时不会以零开头:例如,01:00 是无效的时间,正确的写法应该是 1:00
  • 分钟必须由两位数组成,可能会以零开头:例如,10:2 是无效的时间,正确的写法应该是 10:02

由于可能的时刻组合非常少(只有 \(12 \times 60\)),我们可以枚举每种时刻并计算其对应二进制位为 1 的个数。

计算二进制位为 1 的个数,对于 GCC 编译器可考虑使用 __builtin_popcount() 函数。

储存答案,对于不需要前缀零的情况,可直接使用 std::to_string();对于需要前缀零的情况,可补齐零,后使用 std::to_string,或参见代码。

class Solution {
public:vector<string> readBinaryWatch(int turnedOn) {std::vector<std::string> ret;for (int h = 0; h < 12; ++h) {for (int m = 0; m < 60; ++m) {if (__builtin_popcount(h) + __builtin_popcount(m) == turnedOn) {ret.push_back(std::to_string(h) + ":" + "0123456789"[m / 10] + "0123456789"[m % 10]);}}}return ret;}
};
http://www.jsqmd.com/news/390349/

相关文章:

  • 中文接触角分析软件|支持五点拟合、量角法、插板法等多模式精准测量
  • HTML 速查列表
  • WebForms SortedList 深度解析
  • Go 语言范围(Range)
  • 完整教程:从「文件URL」到「模型可理解内容」:一套完整的文件上传与解析处理流程详解(含PDF/Excel/图片)
  • [算法进阶]dp+树状数组题目
  • [嵌入式系统-235]:传感器:小电流类检测的基本原理:是通过跨阻放大器(TIA)将微弱电流“无损”地转化为电压
  • AI元人文:在白河界面上架设金兰桥——基于空性界面自感理论的深化与整合
  • WebForms SortedList 深入解析
  • 基于Java Web的驾校考试管理系统的设计与实现
  • 《放置(Droppable)》:游戏体验与策略分析
  • ionic 对话框:深度解析与最佳实践
  • 大数据领域数据产品的一致性算法研究
  • 并查集 - ## 并查集
  • 数据产品监控:实时告警与性能追踪系统
  • 为什么使用 Web Services?
  • AI应用架构师的企业级AI平台架构设计的实践探索
  • Bootstrap5 网格系统
  • 大数据清洗面试经验:字节跳动数据开发岗,数据清洗考点总结
  • 基于uni-app+Nodejs+vue3的校园失物招领微信小程序
  • AI应用架构师带你深挖AI驱动质量管理与业务融合点
  • 第七章 LoRA训练稳赢指南:数据集工程“三件套“全解析
  • 别再记混了!阻止事件冒泡≠防止事件冒泡(附趣味解析)
  • 构建未来教育新生态:智慧校园信息系统方案关键模块建设浅析
  • 构建未来教育新生态:智慧校园信息平台方案关键模块建设浅析
  • 构建未来教育新生态:智慧校园解决方案关键模块建设浅析
  • g4f(GPT4Free)下哪些免费大模型好用? 竟然有ernie了!
  • 背包问题 - I NEED A OFFER!
  • Python中的素材序列之元组
  • 年味还能这样打开?魔乐社区新年征文赛今日启动,等你来战