【leetcode】1154. Day of the Year

题目如下:

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.

解题思路:题目很简单,注意区分闰年和平年即可。

代码如下:

class Solution(object):
    def dayOfYear(self, date):
        """
        :type date: str
        :rtype: int
        """
        date = date.split('-')
        year = date[0]
        def isLeapYear(year):
            return (year % 4) == 0 and (year % 100) != 0 or (year % 400) == 0
        month_list = [31,28,31,30,31,30,31,31,30,31,30,31]
        if isLeapYear(int(year)):
            month_list[1] += 1
        month = int(date[1])
        return sum(month_list[:month-1]) + int(date[2])
原文地址:https://www.cnblogs.com/seyjs/p/11376664.html