Leetcode-1154 Ordinal Number Of Date(一年中的第几天)

签到题 ,随便写写

 1 int rn[] = {31,29,31,30,31,30,31,31,30,31,30,31};
 2 int frn[] = {31,28,31,30,31,30,31,31,30,31,30,31};
 3 #define _for(i,a,b) for(int i = (a);i < b;i ++)
 4 class Solution
 5 {
 6     public:
 7         
 8         bool isrun(int year)
 9         {
10             return year % 4 == 0 && year %100 != 0 ||year % 400 == 0;
11         }
12         int ordinalOfDate(string date)
13         {
14             int k1 = 0,k2 = 0,k3 = 0;
15             k1 = (date[0]-'0')*1000+(date[1]-'0')*100+(date[2]-'0')*10+(date[3]-'0');
16             k2 = (date[5]-'0')*10+(date[6]-'0');
17             k3 = (date[8]-'0')*10+(date[9]-'0');
18             int rnt = 0;
19             if(isrun(k1))
20             {
21                 _for(i,0,k2-1)
22                     rnt += rn[i];
23                 rnt += k3;
24             }
25             else
26             {
27                 _for(i,0,k2-1)
28                     rnt += frn[i];
29                 rnt += k3;
30             }
31             return rnt;
32         }
33 };

 

转载于:https://www.cnblogs.com/Asurudo/p/11334529.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值