1154 一年中的第几天 leetcode

简介: 1154 一年中的第几天 leetcode

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


通常情况下,我们认为 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


提示:


date.length ==10

date[4] == date[7] == '-',其他的 date[i] 都是数字。

date 表示的范围从 1900 年 1 月 1 日至 2019 年 12 月 31 日。


   class Solution {

   public:

       int dayOfYear(string date) {

           int day=0;

           int y=atoi(date.substr(0,4).c_str());

           int m=atoi(date.substr(5,2).c_str());

           int d=atoi(date.substr(8,2).c_str());

           switch(m-1)

           {

                   case 11:day+=30;

                   case 10:day+=31;

                   case 9:day+=30;

                   case 8:day+=31;

                   case 7:day+=31;

                   case 6:day+=30;

                   case 5:day+=31;

                   case 4:day+=30;

                   case 3:day+=31;

                   case 2:day+=((!(y%4)&&y%100)||!(y%400))?29:28;

                   case 1:day+=31;    

           }

           return d+day;

       }  

   };//闰年的定义是:(能被4整除且不能被100整除)或者(能被400整除的数)

目录
相关文章
|
3月前
leetcode-1154:一年中的第几天
leetcode-1154:一年中的第几天
26 0
|
3月前
|
算法
leetcode-1185:一周中的第几天
leetcode-1185:一周中的第几天
36 0
|
3月前
题目----计算某年某月的天数
题目----计算某年某月的天数
28 0
|
3月前
题目----获得月份天数
题目----获得月份天数
16 0
|
Python
今天是今年的的第几天
今天是今年的的第几天
135 0
|
机器学习/深度学习 存储 算法
《剑指offer》题解——week4
《剑指offer》题解——week4
104 0
《剑指offer》题解——week4
|
存储 机器学习/深度学习 算法
《剑指offer》题解——week7
《剑指offer》题解——week7
51 0
《剑指offer》题解——week7
|
算法 Java 索引
《剑指offer》题解——week6
《剑指offer》题解——week6
44 0
《剑指offer》题解——week6
|
算法 搜索推荐 Java
《剑指offer》题解——week5
《剑指offer》题解——week5
51 0
《剑指offer》题解——week5