根据输入的日期,计算是这一年的第几天。保证年份为4位数且日期合法。
进阶:时间复杂度:O(n),空间复杂度:O(1)
#include <iostream>
using namespace std;
int main(){
int year, month, day;
cin >> year >> month >> day;
// 2012 12 31
int monthDays1_N[13] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 };
// [1,month-1]
int n = monthDays1_N[month - 1] + day;
if (month > 2 && ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)))
n += 1;
cout << n << endl;
return 0;
}