当前位置: 首页 > news >正文

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

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,需要天数加1if((year%400==0||(year%4==0&&year%100!=0))&&month>2){days+=1;}//计算日的贡献days+=day;return res[(days+3)%7];}

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 六、typescript泛型使用
  • Django 后台与便签
  • 苹果电脑Dock栏优化软件 mac功能亮点
  • 基于MATLAB编程的BP神经网络土地分类,bp神经网络详细原理
  • 2023年十篇具有影响力的人工智能研究论文
  • HarmonyOS4.0系统性深入开发07创建一个ArkTS卡片
  • SQL常见面试题
  • C++:继承(这一篇就够了)
  • css视觉格式化模型
  • JavaScript 中常用事件
  • shell打印粉色小心心、颜文字心心
  • 高效文件管理:利用文件名关键字进行归类,批量移动文件
  • Cypress安装与使用教程(3)—— 软测大玩家
  • 应用在网络摄像机领域中的国产音频ADC芯片
  • 二叉树详解(深度优先遍历、前序,中序,后序、广度优先遍历、二叉树所有节点的个数、叶节点的个数)
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【Leetcode】104. 二叉树的最大深度
  • Facebook AccountKit 接入的坑点
  • JavaScript HTML DOM
  • Kibana配置logstash,报表一体化
  • php中curl和soap方式请求服务超时问题
  • SQL 难点解决:记录的引用
  • 大数据与云计算学习:数据分析(二)
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 翻译--Thinking in React
  • 关于使用markdown的方法(引自CSDN教程)
  • 技术胖1-4季视频复习— (看视频笔记)
  • 聊聊sentinel的DegradeSlot
  • 通过git安装npm私有模块
  • 王永庆:技术创新改变教育未来
  • 微信小程序开发问题汇总
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • #QT 笔记一
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (19)夹钳(用于送货)
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (二)JAVA使用POI操作excel
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (三)mysql_MYSQL(三)
  • (一)RocketMQ初步认识
  • (一)Thymeleaf用法——Thymeleaf简介
  • (原创)可支持最大高度的NestedScrollView
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • **CI中自动类加载的用法总结
  • .gitignore文件设置了忽略但不生效
  • .NET COER+CONSUL微服务项目在CENTOS环境下的部署实践
  • .Net Core 生成管理员权限的应用程序
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .net FrameWork简介,数组,枚举
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET 中 GetProcess 相关方法的性能
  • .NET程序集编辑器/调试器 dnSpy 使用介绍
  • .Net多线程总结