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. 一周中的第几天相关推荐

  1. LeetCode 1185. 一周中的第几天 / 913. 猫和老鼠(博弈,动态规划) / 1576. 替换所有的问号

    1185. 一周中的第几天 2022.1.3 每日一题 题目描述 给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天. 输入为三个整数:day.month 和 year,分别表示日.月.年. ...

  2. LeetCode 1185. 一周中的第几天

    1. 题目 给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天. 输入为三个整数:day.month 和 year,分别表示日.月.年. 您返回的结果必须是这几个值中的一个 {"Su ...

  3. 【LeetCode系列】1185. 一周中的第几天

    ⭐️前面的话⭐️ 大家好!本篇文章将介绍力扣[1185. 一周中的第几天]题解,展示代码语言暂时为:C语言.(后续会更新Java与C++代码)

  4. 1185. 一周中的第几天 golang

    1185. 一周中的第几天 给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天. 输入为三个整数:day.month 和 year,分别表示日.月.年. 您返回的结果必须是这几个值中的一个 { ...

  5. leetcode周赛5465. 子树中标签相同的节点数

    leetcode周赛5465. 子树中标签相同的节点数 给你一棵树(即,一个连通的无环无向图),这棵树由编号从 0 到 n - 1 的 n 个节点组成,且恰好有 n - 1 条 edges .树的根节 ...

  6. Java黑皮书课后题第3章:**3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几

    **3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年.月.该月的哪一天,显示它是一周中的星期几 题目 题目概述 运行示例 破题 代码 题目 题目概述 **3.21(科学:某天是星 ...

  7. 1月第4周中美五大顶级域名总量涨幅相近 均有5.4万个

    IDC评述网(idcps.com)02月04日报道:据WebHosting.info公布的最新数据显示,在1月第4周,中国五大顶级域名总量突破930万,达到9,346,707个,净增54,613个,涨 ...

  8. 开源 非开源_开源周中的女性

    开源 非开源 欢迎来到Opensource.com的"开源女性周" Opensource.com将从1月27日至2月7日重点介绍女性在开源方面的努力.我们将把我们的某些内容专门针对 ...

  9. C#版(击败97.76%的提交) - Leetcode 557. 反转字符串中的单词 III - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. Leetcod ...

最新文章

  1. Win下通过 Navica t连接Ubuntu下MySQL数据库
  2. 总线的集中式仲裁(讲述计时器定时查询方式,独立请求方式,链式查询方式的优缺点)
  3. WordPress纯PHP代码实现记录搜索引擎蜘蛛爬行记录
  4. https://www.jianshu.com/p/5b710cc25f81
  5. HanLP-地名识别调试方法
  6. Mathtype使用技巧(一)
  7. 大数据40天精英计划-徐培成-专题视频课程
  8. OpenCV:计算三角形的角度
  9. 制作逼真立体玻璃奶瓶图片的PS教程
  10. 【FPGA】Vivado综合停滞、死机(PID Not Specified)解决方法
  11. 树莓派Pico开发板MicroPython嵌入pioasm汇编混合编程技术实践
  12. 黑龙江省扶贫电商平台“小康龙江”上线 传输绿色优质农产品
  13. 逻辑英语——动词和分词-----名词
  14. highcharts中gantt甘特图的使用
  15. 为VMware vSphere创建CentOS 7 Terraform模板
  16. preg_match() 函数
  17. HTML5,js制作坦克大战
  18. 强化学习训练Chrome小恐龙Dino:最高超过4000分
  19. 大前端相关-nodejs到vue
  20. ubuntu16.04安装运行PL-SLAM

热门文章

  1. python学到什么程度可以找到工作-Python学到什么程度才可以去找工作?掌握这4点足够了!...
  2. 在电脑上安装python-在电脑上安装python的方法
  3. 学了python能干啥举例-django能干什么
  4. python从入门到精通需要多久-学习Python从入门到精通需要多长时间
  5. 自从微信更新后,广东人都玩疯了!以后语音可以识别英语、粤语啦!
  6. 嵌入式语音识别系统是什么
  7. wincc和matlab通信,Matlab与WinCC之间的数据通信.doc
  8. 【java笔记】继承
  9. 【java笔记】类的抽象
  10. MATLAB学习笔记 :函数文件的定义和使用