营销型网站建设的好处,中国国际室内设计网官网,专门做考研的网站,深圳市坪山区3妹#xff1a;“太阳当空照#xff0c;花儿对我笑#xff0c;小鸟说早早早#xff0c;你为什么背上炸药包” 2哥 :3妹#xff0c;什么事呀这么开森。 3妹#xff1a;2哥你看今天的天气多好啊#xff0c;经过了一周多的寒潮#xff0c;天气总算暖和些了。 2哥#xff…
3妹“太阳当空照花儿对我笑小鸟说早早早你为什么背上炸药包” 2哥 :3妹什么事呀这么开森。 3妹2哥你看今天的天气多好啊经过了一周多的寒潮天气总算暖和些了。 2哥是啊都说一九二九不出手三九四九冰上走这才一九就已经可以冰上走了。 3妹上海这边虽然也挺冷了但是还算好想想北方都已经泼水成冰啦 2哥泼水成冰好玩是好玩但是一定要注意防寒哦看新闻都有人冻伤了。 3妹是啊还是待在室内比较好 2哥给你出了一道题发你微信里了 上班通勤的路上记得看一下回来问你答案~ 3妹知道啦难不倒我
题目
给你一个字符串 date 按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。
示例 1 输入date “2019-01-09” 输出9 解释给定日期是2019年的第九天。 示例 2 输入date “2019-02-10” 输出41
提示
date.length 10 date[4] date[7] ‘-’其他的 date[i] 都是数字 date 表示的范围从 1900 年 1 月 1 日至 2019 年 12 月 31 日
思路 根据题意直接计算 我们首先从给定的字符串 date中提取出年 year月 month以及日 day。
这样一来我们就可以首先统计到 month 的前一个月为止的天数。这一部分只需要使用一个长度为 12的数组预先记录每一个月的天数再进行累加即可。随后我们将答案再加上 day就可以得到 date是一年中的第几天。
需要注意的是如果 year是闰年那么二月份会多出一天。闰年的判定方法为year是 400的倍数或者 year 是 4 的倍数且不是 100的倍数。
java代码 class Solution {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[] amount {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};if (year % 400 0 || (year % 4 0 year % 100 ! 0)) {amount[1];}int ans 0;for (int i 0; i month - 1; i) {ans amount[i];}return ans day;}
}