Given a string date representing a Gregorian calendar date formatted as YYYY-MM-DD, return the day number of the year.

Example 1:
Input: date = "2019-01-09"
Output: 9
Explanation: Given date is the 9th day of the year in 2019.

Example 2:
Input: date = "2019-02-10"
Output: 41

Example 3:
Input: date = "2003-03-01"
Output: 60

Example 4:
Input: date = "2004-03-01"
Output: 61

Constraints:

  • date.length == 10
  • date[4] == date[7] == ‘-‘, and all other date[i]’s are digits
  • date represents a calendar date between Jan 1st, 1900 and Dec 31, 2019.

Solution in python:

class Solution:
    def dayOfYear(self, date: str) -> int:
        def isYear(num):
            if ((num % 4 == 0) and (num % 100) != 0) or (num % 400 == 0):
                return True
            return False
        days = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
        time = date.split('-')
        print(time)
        flag = isYear(int(time[0]))
        count = 0
        for i in range(int(time[1])-1):
            count += days[i]
        if not flag and int(time[1]) > 2:
            count -= 1
        count += int(time[2])
        return count
最后修改日期: 2021年3月5日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。