1154. Day of the Year

1154. Day of the Year #

Problem #

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.

Problem Summary #

Implement a class MajorityChecker that should have the following APIs:

  • MajorityChecker(int[] arr) constructs an instance of MajorityChecker with the given array arr.
  • int query(int left, int right, int threshold) has the following parameters:
    • 0 <= left <= right < arr.length represents the length of the subarray of array arr.
    • 2 * threshold > right - left + 1, meaning the threshold threshold is always greater than half the length of the subsequence.

Each query query(…) returns the element that appears at least threshold times in arr[left], arr[left+1], …, arr[right]; if no such element exists, return -1.

Notes:

  • 1 <= arr.length <= 20000
  • 1 <= arr[i] <= 20000
  • For each query, 0 <= left <= right < len(arr)
  • For each query, 2 * threshold > right - left + 1
  • The maximum number of queries is 10000

Solution Approach #

  • Given a time string, find which day of the year this day is.
  • Easy problem. Just handle it according to the problem statement.

Code #


package leetcode

import "time"

func dayOfYear(date string) int {
	first := date[:4] + "-01-01"
	firstDay, _ := time.Parse("2006-01-02", first)
	dateDay, _ := time.Parse("2006-01-02", date)
	duration := dateDay.Sub(firstDay)
	return int(duration.Hours())/24 + 1
}


Calendar Jun 25, 2026
Edit Edit this page
Total visits:   You are visitor No.
中文