1154. 一年中的第几天 --力扣 --JAVA
2023-12-31 05:25:17
题目
给你一个字符串?
date
?,按?YYYY-MM-DD
?格式表示一个?现行公元纪年法?日期。返回该日期是当年的第几天。
解题思路
- 将每个月包含的日期数枚举出来(12月可枚举也可不枚举);
- 通过分割字符串获取当前日期的年、月、日;
- 计算当前年份是否为闰年,若是则修改二月份的日期为29,默认为28;
- 当月天数加上之前每个月的天数。
代码展示
class Solution {
private int[] days = new int[]{31,28,31,30,31,30,31,31,30,31,30};
public int dayOfYear(String date) {
int year = Integer.parseInt(date.substring(0, 4));
int month = Integer.parseInt(date.substring(5, 7));
int day = Integer.parseInt(date.substring(8));
int ans = day;
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){
days[1] = 29;
}
for(int i = 1; i < month; i++){
ans += days[i - 1];
}
return ans;
}
}
文章来源:https://blog.csdn.net/qq_45794129/article/details/135311604
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!