Jer*_*emy 5 java date-arithmetic
这类似于计算两个日期以外的日期,但周末不同但问题不同.
问题是"我在工作日前有一个任务.这是多少天前的事了?"
星期五,3个工作日前是3天前.星期一,3个工作日前是5天前.
我可以通过迭代编写一个非常简单的解决方案.但是,我觉得应该可以将其作为O(1)操作.一个接近但错误的答案是N +(7/5)N.有小费吗?
首先将 5 天的偶数转换为 7 天的周,然后如果需要超过周末,则通过添加两天来处理余数。
int MONDAY = 1, TUESDAY = 2, WEDNESDAY = 3, THURSDAY = 4, FRIDAY = 5;
int today = getToday();
int weeks = weekdays / 5;
int extraDays = weekdays % 5;
int days = weeks * 7;
if (today <= extraDays) {
days += 2;
}
days += extraDays;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |