2021221 LeetCode刷题 2021218 LeetCode刷题 旋转字符串(难度 :单词规律)(难度 :单词规律)

给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。请你计算并返回该日期是当年的第几天。

通常情况下,我们认为 1 月 1 日是每年的第 1 天,1 月 2 日是每年的第 2 天,依此类推。每个月的天数与现行公元纪年法(格里高利历)一致。

 

示例 1:

输入:date = "2019-01-09"
输出:9

示例 2:

输入:date = "2019-02-10"
输出:41

示例 3:

输入:date = "2003-03-01"
输出:60

示例 4:

输入:date = "2004-03-01"
输出:61





class Solution {
    public int dayOfYear(String date) {
        int year = Integer.parseInt(date.split("-")[0]);
        int mm = Integer.parseInt(date.split("-")[1]);
        int dd = Integer.parseInt(date.split("-")[2]);
        int[] days = new int[]{31,0,31,30,31,30,31,31,30,31,30,31};
        if((year%4 == 0&&year%100 !=0) || year%400 == 0){
            days[1] = 29;
        }else{
            days[1] = 28;
        }
        if(mm ==1){
            return dd;
        }
        for(int i = 0;i< mm-1;i++){
            dd+=days[i];
        }
        return dd;
    }
}

  

执行结果:
通过

添加备注

执行用时:14 ms, 在所有 Java 提交中击败了44.89%的用户
内存消耗:38.6 MB, 在所有 Java 提交中击败了90.51%的用户
通过测试用例:10957 / 10957
posted @ 2021-12-21 22:07  skystrivegao  阅读(47)  评论(0)    收藏  举报