有48个1与0的字符串代表1天的时间, 半小时为单位
需求是 如 当天的 00:30 - 11:00 转为仅有1与0的字符串, 其中 1 代表包含在时间段内, 0代表不包含
得出 00:30 - 11:00 的字符串为 011111111111111111111110000000000000000000000000
时间可能是散开分布, 不一定是连贯的. 如 11:00-12:00 14:00-16:00.
求解应该怎么做.谢谢各位大佬~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
写了个控制台用的js版的
时间用
[[0,30],[11,0]]
表示00:30 - 11:00
,所以第二种情况就是这样的了下面是解码
將時間轉為秒數,秒數改為二進制就OK,至於 - 你可以按編碼表二進制好還是其他方式好,這個由你確定
半小时为单位不是把1天分割成48个段吗,0-47表示段号对应各段时间
字符串第i为对应段号i
0表示在这段时间
1表示不在这段时间
具体程序不难写吧。
只要求出段号然后字符串内容替换就行了
段号就是把时间转换成小时数然后除以0.5取整