返回介绍

solution / 1100-1199 / 1118.Number of Days in a Month / README

发布于 2024-06-17 01:03:23 字数 2726 浏览 0 评论 0 收藏 0

1118. 一月有多少天

English Version

题目描述

指定年份 year 和月份 month,返回 _该月天数 _。

 

示例 1:

输入:year = 1992, month = 7
输出:31

示例 2:

输入:year = 2000, month = 2
输出:29

示例 3:

输入:year = 1900, month = 2
输出:28

 

提示:

  • 1583 <= year <= 2100
  • 1 <= month <= 12

解法

方法一:判断闰年

我们可以先判断给定的年份是否为闰年,如果年份能被 $4$ 整除但不能被 $100$ 整除,或者能被 $400$ 整除,那么这一年就是闰年。

闰年的二月有 $29$ 天,平年的二月有 $28$ 天。

我们可以用一个数组 $days$ 存储当前年份每个月的天数,其中 $days[0]=0$,$days[i]$ 表示当前年份第 $i$ 个月的天数。那么答案就是 $days[month]$。

时间复杂度 $O(1)$,空间复杂度 $O(1)$。

class Solution:
  def numberOfDays(self, year: int, month: int) -> int:
    leap = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
    days = [0, 31, 29 if leap else 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    return days[month]
class Solution {
  public int numberOfDays(int year, int month) {
    boolean leap = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
    int[] days = new int[] {0, 31, leap ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    return days[month];
  }
}
class Solution {
public:
  int numberOfDays(int year, int month) {
    bool leap = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
    vector<int> days = {0, 31, leap ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    return days[month];
  }
};
func numberOfDays(year int, month int) int {
  leap := (year%4 == 0 && year%100 != 0) || (year%400 == 0)
  x := 28
  if leap {
    x = 29
  }
  days := []int{0, 31, x, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
  return days[month]
}
function numberOfDays(year: number, month: number): number {
  const leap = (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
  const days = [0, 31, leap ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  return days[month];
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文