တစ်နှစ်တာ Leetcode ဖြေရှင်းချက်၏နေ့


ခက်ခဲအဆင့် လွယ်ကူသော
မကြာခဏမေးတယ် ZScaler
သင်္ချာ

ပြstatementနာကြေညာချက်

“ တစ်နှစ်တာ၏နေ့” ပြDayနာတွင်ကျွန်ုပ်တို့အား a ကြိုး YYYY-MM-DD ပုံစံဖြင့်ရက်စွဲပါရှိသည်။ ကျွန်ုပ်တို့၏တာ ၀ န်မှာထိုရက်၏နေ့နံပါတ်ကိုပြန်ပို့ရန်ဖြစ်သည်။

ပေးထားသောရက်စွဲ 2020-01-05 လျှင်။ ၎င်းသည် ၂၀၂၀ နှစ်၏ ၅ ရက်မြောက်နေ့ဖြစ်သောဇန်နဝါရီလ ၅ ရက်ဖြစ်သည်။ ဒါဆို ၅ ကိုပြန်မယ်။

နမူနာ

date = "2019-01-09"
9

ရှင်းလင်းချက်:

 

ပေးထားသောဥပမာတွင်ဖော်ပြထားသည့်အတိုင်းနေ့ရက်သည် ၂၀၁၉ ခုနှစ်ဇန်နဝါရီလ ၉ ရက်ဖြစ်သည်။ ၎င်းသည် ၂၀၁၉ ခုနှစ်၏ ၉ ရက်မြောက်နေ့ဖြစ်သည်။ ထို့ကြောင့်အဖြေမှာ ၉ ဖြစ်သည်။

တစ်နှစ်တာ Leetcode Solution ၏နေ့အတွက်ချဉ်းကပ်နည်း

input ကို string format နဲ့ပေးထားတဲ့အတွက်ကိန်းဂဏန်းအချက်အလက်စုစုပေါင်းရဲ့ရက်၊ လနဲ့နှစ်ကို extract လုပ်ဖို့လိုတယ်။ ထို့ကြောင့်ကျွန်ုပ်တို့သည် string ကိုခွဲလိုက်ပြီးရက်၊ လနှင့်နှစ်တို့ကိုထုတ်ယူသွားမည်ဖြစ်သည်။

လတိုင်းသည်ရက်အရေအတွက်ကွဲပြားခြားနားသည်။ ဒါကြောင့်လတိုင်းအတွက်ရက်အရေအတွက်ကိုသိနိုင်ဖို့အတွက် array တစ်ခုစီကိုအသုံးပြုပြီးလတစ်လအတွက်ရက်အရေအတွက်ကိုသိမ်းထားပါမယ်။

ယခုဖေဖော်ဝါရီလအတွက်ရက်အရေအတွက်ကိုကိုင်တွယ်ရန်လိုအပ်သည်။ အဘယ်ကြောင့်ဆိုသော်ခုန်ပျံကျော်လွှားနှစ်အတွက် ၂၉ ရက်ရှိပြီး၊ ခုန်မဟုတ်သောနှစ်အတွက်မှာ ၂၈ ရက်ဖြစ်သည်။

တစ်နှစ်သည်ခုန်ပျံသည့်နှစ်ဖြစ်သည်။

  1. က 400 အားဖြင့်စားလို့ရတယ်လျှင်
  2. ၄ ကိုစားလို့ ၁၀၀ နဲ့စားလို့မရဘူး။

တစ်နှစ်တာ Leetcode ဖြေရှင်းချက်၏နေ့

နှစ်၏နေ့ကိုတွက်ချက်ရန်ဇန်န ၀ ါရီလမှ ၁ လသို့လတစ်လ၏ရက်အရေအတွက်အားလုံးကိုထည့်ပေါင်းပါ။ ပေးထားသည့်ရက်မှရက်အရေအတွက်ကိုထည့်ပါ။ ဤသည်ကပေးထားသောရက်စွဲအတွက်တစ်နှစ်၏နေ့ရက်ကိုပေးပါလိမ့်မယ်။

အကောင်အထည်ဖော်ရေး

တစ်နှစ်တာ၏နေ့အတွက် C ++ ကုဒ်

#include <bits/stdc++.h> 
using namespace std; 
int dayOfYear(string dt) {
  int days[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
  int y = stoi(dt.substr(0, 4)), m = stoi(dt.substr(5, 2)), d = stoi(dt.substr(8));
  if (m > 2 && y % 4 == 0 && (y % 100 != 0|| y % 400 == 0)) ++d; 
  while (--m > 0) d += days[m - 1];
  return d;
}
int main() 
{ 
 string date="2019-01-09";
 int ans=dayOfYear(date);
 cout<<ans<<endl;
 return 0;
}
9

တစ်နှစ်တာ၏နေ့အတွက် Java code

import java.util.Arrays;
import java.util.Set ;
import java.util.HashSet;
public class Tutorialcup {
    public static int dayOfYear(String S) {
        int[] days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        String[] s = S.split("-");
        int y = Integer.parseInt(s[0]);
        int m = Integer.parseInt(s[1]);
        int d = Integer.parseInt(s[2]);
        if (m > 2 && y % 4 == 0 && (y % 100 != 0|| y % 400 == 0)) ++d; 
        while (--m > 0) d += days[m - 1];
        return d;
    } 
  public static void main(String[] args) {
         String date="2019-01-09";
         int ans=dayOfYear(date);
        System.out.println(ans);
  }
}
9

တစ်နှစ်တာ Leetcode Solution ၏နေ့၏ရှုပ်ထွေးမှုအားသုံးသပ်ခြင်း

အချိန်ရှုပ်ထွေး

အထက်ပါကုဒ်၏အချိန်ရှုပ်ထွေးသည် အို (၁).

အာကာသရှုပ်ထွေးမှု

အပေါ်ကကုဒ်ရဲ့ရှုပ်ထွေးမှုက အို (၁).

ကိုးကား