您的位置:首页 > 新闻 > 热点要闻 > 专业模板建站服务_公司网络平台搭建_百度招聘官网首页_优化疫情政策

专业模板建站服务_公司网络平台搭建_百度招聘官网首页_优化疫情政策

2025/1/8 20:15:53 来源:https://blog.csdn.net/2401_88859777/article/details/144860981  浏览:    关键词:专业模板建站服务_公司网络平台搭建_百度招聘官网首页_优化疫情政策
专业模板建站服务_公司网络平台搭建_百度招聘官网首页_优化疫情政策

问题背景

给你一个字符串 d a t e date date,它的格式为 y y y y − m m − d d yyyy-mm-dd yyyymmdd,表示一个公历日期。
d a t e date date 可以重写为二进制表示,只需要将年、月、日分别转换为对应的二进制表示(不带前导零)并遵循 y e a r − m o n t h − d a y year-month-day yearmonthday 的格式。
返回 d a t e date date 的 二进制 表示。

数据约束

  • d a t e . l e n g t h = 10 date.length = 10 date.length=10
  • d a t e [ 4 ] = d a t e [ 7 ] date[4] = date[7] date[4]=date[7]值为 ‘-’,其余的 d a t e [ i ] date[i] date[i]都是数字。
  • 输入保证 d a t e date date代表一个有效的公历日期,日期范围从 1900 1900 1900 1 1 1 1 1 1 日到 2100 2100 2100 12 12 12 31 31 31 日(包括这两天)。

解题过程

Java 库中提供了将十进制数字转化为二进制的方法,直接调用即可。
值得注意的是,这题的背景下没必要写循环,截三次字符串效率更高,也很符合约定输入并提供所要求输出的设计原则。

具体实现

class Solution {public String convertDateToBinary(String date) {StringBuilder res = new StringBuilder();res.append(Integer.toBinaryString(Integer.parseInt(date.substring(0,4))));res.append("-");res.append(Integer.toBinaryString(Integer.parseInt(date.substring(5,7))));res.append("-");res.append(Integer.toBinaryString(Integer.parseInt(date.substring(8,10))));return res.toString();}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com