当前位置: 首页> 游戏> 评测 > 重庆网站定制开发_上海十大装修公司品牌排行榜_网络营销推广的目的_网络推广平台网站推广

重庆网站定制开发_上海十大装修公司品牌排行榜_网络营销推广的目的_网络推广平台网站推广

时间:2025/7/9 20:49:18来源:https://blog.csdn.net/2401_88085478/article/details/144865709 浏览次数:0次
重庆网站定制开发_上海十大装修公司品牌排行榜_网络营销推广的目的_网络推广平台网站推广

给你一个字符串 date,它的格式为 yyyy-mm-dd,表示一个公历日期。

date 可以重写为二进制表示,只需要将年、月、日分别转换为对应的二进制表示(不带前导零)并遵循 year-month-day 的格式。

返回 date 的 二进制 表示。

示例 1:

输入: date = "2080-02-29"

输出: "100000100000-10-11101"

解释:

100000100000, 10 和 11101 分别是 2080, 02 和 29 的二进制表示。

示例 2:

输入: date = "1900-01-01"

输出: "11101101100-1-1"

解释:

11101101100, 1 和 1 分别是 1900, 1 和 1 的二进制表示。

提示:

  • date.length == 10
  • date[4] == date[7] == '-',其余的 date[i] 都是数字。
  • 输入保证 date 代表一个有效的公历日期,日期范围从 1900 年 1 月 1 日到 2100 年 12 月 31 日(包括这两天)。

分析:简单模拟。首先将 date 按照 “yyyy-mm-dd” 的格式解析出年 year、月 month、日 day,然后将 year,month 和 day 的二进制表示字符串用 “-” 连接起来,返回结果。

void exchange(int num,char *ans)
{int l=strlen(ans),t=0;char temp[100]={0};while(num>=2)temp[t++]=num%2+'0',num/=2;if(num)temp[t++]=num+'0';for(int i=t-1,j=l;i>=0;--i,++j)ans[j]=temp[i];
}
char* convertDateToBinary(char* data) {int yy=0,mm=0,dd=0;yy=1000*(data[0]-'0')+100*(data[1]-'0')+10*(data[2]-'0')+data[3]-'0';mm=10*(data[5]-'0')+data[6]-'0';dd=10*(data[8]-'0')+data[9]-'0';char *ans=(char*)malloc(sizeof(char)*30);for(int i=0;i<30;++i)ans[i]=0;exchange(yy,ans);ans[strlen(ans)]='-';exchange(mm,ans);ans[strlen(ans)]='-';exchange(dd,ans);return ans;
}
关键字:重庆网站定制开发_上海十大装修公司品牌排行榜_网络营销推广的目的_网络推广平台网站推广

版权声明:

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

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

责任编辑: