[leetcode]1185. 一周中的第几天
1、基于0001/01/01 是星期一的事实
class Solution {string weeks[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};int d[2][12]= {{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};
public://基于0001/01/01 是星期一string dayOfTheWeek(int day, int month, int year) {int count = 0;for(int i = 1; i < year; i++){if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0){count += 366;}else{count += 365;}}bool flag = false;if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) flag = true;for(int i = 1; i < month; i++){count += d[flag][i-1];}count += day;return weeks[count%7]; }
};
2、查日历查到1971/1/1是星期五
class Solution {string weeks[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};int d[2][12]= {{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};
public:string dayOfTheWeek(int day, int month, int year) {int count = 0;for(int i = 1; i < year; i++){if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0){count += 366;}else{count += 365;}}bool flag = false;if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) flag = true;for(int i = 1; i < month; i++){count += d[flag][i-1];}count += day;return weeks[count%7]; //1971.1.1 是Friday,前一天星期四,所以加4,就是从1970/12/28是Sunday来推}
};
3、蔡勒公式:
class Solution {string weeks[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
public:string dayOfTheWeek(int day, int month, int year) {if(month == 1 || month == 2){month += 12;year--;}int y = year%100; int c = year/100;int w = (y + y/4 + c/4 -2*c + 2*month + 3*(month+1)/5 + day + 1)%7;w = (w + 7)%7;return weeks[w];}
};
[leetcode]1185. 一周中的第几天相关推荐
- LeetCode 1185. 一周中的第几天 / 913. 猫和老鼠(博弈,动态规划) / 1576. 替换所有的问号
1185. 一周中的第几天 2022.1.3 每日一题 题目描述 给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天. 输入为三个整数:day.month 和 year,分别表示日.月.年. ...
- LeetCode 1185. 一周中的第几天
1. 题目 给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天. 输入为三个整数:day.month 和 year,分别表示日.月.年. 您返回的结果必须是这几个值中的一个 {"Su ...
- 【LeetCode系列】1185. 一周中的第几天
⭐️前面的话⭐️ 大家好!本篇文章将介绍力扣[1185. 一周中的第几天]题解,展示代码语言暂时为:C语言.(后续会更新Java与C++代码)
- 1185. 一周中的第几天 golang
1185. 一周中的第几天 给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天. 输入为三个整数:day.month 和 year,分别表示日.月.年. 您返回的结果必须是这几个值中的一个 { ...
- leetcode周赛5465. 子树中标签相同的节点数
leetcode周赛5465. 子树中标签相同的节点数 给你一棵树(即,一个连通的无环无向图),这棵树由编号从 0 到 n - 1 的 n 个节点组成,且恰好有 n - 1 条 edges .树的根节 ...
- Java黑皮书课后题第3章:**3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几
**3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年.月.该月的哪一天,显示它是一周中的星期几 题目 题目概述 运行示例 破题 代码 题目 题目概述 **3.21(科学:某天是星 ...
- 1月第4周中美五大顶级域名总量涨幅相近 均有5.4万个
IDC评述网(idcps.com)02月04日报道:据WebHosting.info公布的最新数据显示,在1月第4周,中国五大顶级域名总量突破930万,达到9,346,707个,净增54,613个,涨 ...
- 开源 非开源_开源周中的女性
开源 非开源 欢迎来到Opensource.com的"开源女性周" Opensource.com将从1月27日至2月7日重点介绍女性在开源方面的努力.我们将把我们的某些内容专门针对 ...
- C#版(击败97.76%的提交) - Leetcode 557. 反转字符串中的单词 III - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. Leetcod ...
最新文章
- Win下通过 Navica t连接Ubuntu下MySQL数据库
- 总线的集中式仲裁(讲述计时器定时查询方式,独立请求方式,链式查询方式的优缺点)
- WordPress纯PHP代码实现记录搜索引擎蜘蛛爬行记录
- https://www.jianshu.com/p/5b710cc25f81
- HanLP-地名识别调试方法
- Mathtype使用技巧(一)
- 大数据40天精英计划-徐培成-专题视频课程
- OpenCV:计算三角形的角度
- 制作逼真立体玻璃奶瓶图片的PS教程
- 【FPGA】Vivado综合停滞、死机(PID Not Specified)解决方法
- 树莓派Pico开发板MicroPython嵌入pioasm汇编混合编程技术实践
- 黑龙江省扶贫电商平台“小康龙江”上线 传输绿色优质农产品
- 逻辑英语——动词和分词-----名词
- highcharts中gantt甘特图的使用
- 为VMware vSphere创建CentOS 7 Terraform模板
- preg_match() 函数
- HTML5,js制作坦克大战
- 强化学习训练Chrome小恐龙Dino:最高超过4000分
- 大前端相关-nodejs到vue
- ubuntu16.04安装运行PL-SLAM
热门文章
- python学到什么程度可以找到工作-Python学到什么程度才可以去找工作?掌握这4点足够了!...
- 在电脑上安装python-在电脑上安装python的方法
- 学了python能干啥举例-django能干什么
- python从入门到精通需要多久-学习Python从入门到精通需要多长时间
- 自从微信更新后,广东人都玩疯了!以后语音可以识别英语、粤语啦!
- 嵌入式语音识别系统是什么
- wincc和matlab通信,Matlab与WinCC之间的数据通信.doc
- 【java笔记】继承
- 【java笔记】类的抽象
- MATLAB学习笔记 :函数文件的定义和使用