2023.12.30力扣每日一题——一周中的第几天

题目来源

力扣每日一题;题序:1185

我的题解

方法一 模拟+常识

首先想要计算指定日期是周几,需要一个参考日期,这里选择1970年12月31日,查询日历可知该天是星期四,之后给定的日期只需要计算与距离 1970 年 12 月 31 日有几天,再加上 3 后对 7 求余,即可得到输入日期是一周中的第几天。
具体的距离天数计算:
(1)输入年份之前的年份的天数贡献(注意闰年);
(2)输入年份中,输入月份之前的月份的天数贡献(注意超过2月也需要考虑闰年);
(3)输入月份中的天数贡献。

时间复杂度:O(m)。月份数
空间复杂度:O(m)。存储每个月的天数

public String dayOfTheWeek(int day, int month, int year) {
   
        String[] res={
   "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
        int[] monthDays={
   31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30};
        //计算年的贡献  即year-1971   (year-1969)/4是求这些年中有多少是闰年
        int days=365*(year-1971)+(year-1969)/4;

        //计算月的贡献
        for(int i=0;i<month-1;i++){
   
            days+=monthDays[i];
        }
        //若所求年份刚好是闰年并且月份大于2,需要天数加1
        if((year%400==0||(year%4==0&&year%100!=0))&&month>2){
   
            days+=1;
        }
        //计算日的贡献
        days+=day;
        return res[(days+3)%7];
    }

有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~

相关推荐

  1. 2023.12.30每日——

    2024-01-03 10:44:06       43 阅读
  2. 2023.12.31每日——

    2024-01-03 10:44:06       42 阅读
  3. 算法每日 | 日历类题目

    2024-01-03 10:44:06       38 阅读
  4. 2024-01-03 10:44:06       39 阅读
  5. LC 1185.

    2024-01-03 10:44:06       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-03 10:44:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-03 10:44:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-03 10:44:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-03 10:44:06       18 阅读

热门阅读

  1. 牙科废水处理设备详细介绍

    2024-01-03 10:44:06       38 阅读
  2. C++汇编语言学习计划

    2024-01-03 10:44:06       39 阅读
  3. PDF最强处理工具-StirlingPDF

    2024-01-03 10:44:06       40 阅读
  4. Laya3d碰撞后退表现算法

    2024-01-03 10:44:06       42 阅读
  5. 5分钟带你解决Promise疑难杂症

    2024-01-03 10:44:06       34 阅读
  6. pytorch 转 onnx

    2024-01-03 10:44:06       31 阅读
  7. flask web学习之flask与http(四)

    2024-01-03 10:44:06       35 阅读
  8. torch.where用法介绍

    2024-01-03 10:44:06       37 阅读
  9. 构建一个动态时钟

    2024-01-03 10:44:06       34 阅读
  10. nginx,ssl,证书和校验

    2024-01-03 10:44:06       33 阅读
  11. FTP服务器安装、远程访问以及安全配置项

    2024-01-03 10:44:06       41 阅读
  12. 计算机网络---知识点

    2024-01-03 10:44:06       41 阅读
  13. 碳中和服务认证流程、价格、意义

    2024-01-03 10:44:06       35 阅读