Leetcode: Day of the Year

Day of the Year



Similar Problems:


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.

Github: code.dennyzhang.com

Credits To: leetcode.com

Leave me comments, if you have better ways to solve.


  • Solution:
// Blog link: https://code.dennyzhang.com/ordinal-number-of-date
// Basic Ideas: array
//
// Complexity: Time O(1), Space O(1)
import ("strings"
        "strconv")
func dayOfYear(date string) int {
    items := strings.Split(date, "-")
    year, _ := strconv.Atoi(items[0])
    month, _ := strconv.Atoi(items[1])
    day, _ := strconv.Atoi(items[2])

    res := day

    l := []int{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
    if (year%4 ==0 && year%100!=0) || (year%400 == 0) {
        l[2] = 29
    }
    for i:=1; i<month; i++ {
        res += l[i]
    }
    return res
}
linkedin
github
slack

Share It, If You Like It.

Leave a Reply

Your email address will not be published.