Day of the Year - Math - Easy - LeetCode
💻 coding

Day of the Year - Math - Easy - LeetCode

1 min read 160 words
1 min read
ShareWhatsAppPost on X
  • 1The function calculates the day number of the year from a given date formatted as YYYY-MM-DD.
  • 2Leap years are accounted for in the calculation, affecting February's day count.
  • 3The solution operates with constant time and space complexity, O(1).

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The function calculates the day number of the year from a given date formatted as YYYY-MM-DD."

Day of the Year - Math - Easy - LeetCode

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.

public class Solution {
 public int DayOfYear(string date) {
 var arr = date.Split('-');
 bool isLeap = checkYear(int.Parse(arr[0]));
 var months = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
 int count = 0;
 for(int i=0;i<int.Parse(arr[1])-1;i++){
 if(isLeap && i==1){
 count+=1;
 }
 count+=months[i];
 }
 count+=int.Parse(arr[2]);
 
 
 return count;
 }
 
 private bool checkYear(int year){
 if(year%400==0){
 return true;
 }
 
 if(year%100==0){
 return false;
 }
 
 if( year %4 == 0){
 return true;
 }
 return false;
 }
}

Time Complexity: O(1)

Space Complexity: O(1)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 1 October 2020 · 1 min read · 160 words

Part of AskGif Blog · coding

You might also like