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

闯关leetcode——3280. Convert Date to Binary

大纲

  • 题目
    • 地址
    • 内容
  • 解题
    • 代码地址

题目

地址

https://leetcode.com/problems/convert-date-to-binary/description/

内容

You are given a string date representing a Gregorian calendar date in the yyyy-mm-dd format.

date can be written in its binary representation obtained by converting year, month, and day to their binary representations without any leading zeroes and writing them down in year-month-day format.

Return the binary representation of date.

Example 1:

Input: date = “2080-02-29”
Output: “100000100000-10-11101”
Explanation:
100000100000, 10, and 11101 are the binary representations of 2080, 02, and 29 respectively.

Example 2:

Input: date = “1900-01-01”
Output: “11101101100-1-1”
Explanation:
11101101100, 1, and 1 are the binary representations of 1900, 1, and 1 respectively.

Constraints:

  • date.length == 10
  • date[4] == date[7] == ‘-’, and all other date[i]'s are digits.
  • The input is generated such that date represents a valid Gregorian calendar date between Jan 1st, 1900 and Dec 31st, 2100 (both inclusive).

解题

这题就是要将一个10进制表示的日期类型字符串转换成一个2进制表示的日期类型字符串。这题有很强的条件限定,比如:总长度一定是10,下标4和7的位置的字符一定是“-”。我们可以充分利用这些条件来简化代码。

#include <string>
using namespace std;

class Solution {
public:
    string convertDateToBinary(string date) {
       return toBinary(stoi(date.substr(0, 4))) + "-" + toBinary(stoi(date.substr(5, 2))) + "-" + toBinary(stoi(date.substr(8, 2)));
    }

private:
    string toBinary(int num) {
        string result = "";
        while (num > 0) {
            if (num & 1) {
                result = "1" + result;
            } else {
                result = "0" + result;
            }
            num >>= 1;
        }
        return result;
    }
};

在这里插入图片描述

代码地址

https://github.com/f304646673/leetcode/tree/main/3280-Convert-Date-to-Binary/cplusplus


http://www.kler.cn/a/379811.html

相关文章:

  • BEV数据集标注成本高?BEVPose:减少对标注数据依赖!
  • 专业网页设计服务重要是什么
  • yolo系列各种环境配置运行
  • c语言 变量类型总结
  • 【AIGC】如何充分利用ChatGPT:有效提示框架与基本规则
  • [实战-11] FlinkSql 设置时区对TIMESTAMP和TIMESTAMP_LTZ的影响
  • 软件测试学习笔记丨SeleniumPO模式
  • 【网络安全】|kali中安装nessus
  • Pandas进行数据清洗
  • Qt中的面试问答
  • Vue项目开发:Vuex使用,表单验证配置,ESLint关闭与常见问题解决方案
  • 动力商城-02 环境搭建
  • Quartz实现定时调用接口(.net core2.0)
  • 华为HarmonyOS打造开放、合规的广告生态 - 激励广告
  • SpringSession源码分析
  • 水仙花求和
  • 使用 pytorch 运行预训练模型的框架
  • D58【python 接口自动化学习】- python基础之异常
  • 不需要复制粘贴,重复内容如何使用Mac快速完成输入
  • 初始JavaEE篇——多线程(5):生产者-消费者模型、阻塞队列
  • 【Mac】Screen Recorder by Omi Mac:Omi录屏专家
  • 从最小作用量原理推导牛顿三大定律
  • 相机硬触发
  • 小红书笔记详情API接口系列(概述到示例案例)
  • Mac上的免费压缩软件-FastZip使用体验实测
  • Vue3的router和Vuex的学习笔记整理