leetcode每日一题 1185.一周中的第几天

  • 题目链接

一周中的第几天

  • 解题思路

可以通过模拟的算法,容易知道1971年的1月1日是星期五

计算从1971年1月1日到当前有几天即可

这个我们可以通过枚举每一年每一月得到

最后根据余数确定是星期几

注意一点就是闰年的判断

  • 代码
class Solution { public:     int month_day(int month,int year)     {         if(month == 2)         {         if(year % 400 == 0) return 29;         else if(year % 100 == 0 && year % 400 != 0) return 28;         else if(year % 4 == 0) return 29;         else return 28;         }         else if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) return 31;         else return 30;     }     string dayOfTheWeek(int day, int month, int year)      {         int now = 3, allday = 0;         for(int i = 1971;i < year; i++)             for(int j = 1;j <= 12; j++)                 allday = allday + month_day(j,i);         for(int j = 1;j < month; j++)             allday = allday + month_day(j,year);         allday = allday + day;         now = (now + allday) % 7;         string answer[] = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};         return answer[now];     } };  

推荐这些文章:

leetcode-放松题-一周中的第几天

package algorithm.dayOfTheWeek;

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

js获取本月起止日期和结束日期

Datestartstop(){
function getMonth(type, months) {
var d = new Date();
var year = d.getFullYear();
var mont...

根据生日获取年龄带单位

function getAgeByBirthday($birthday){
if(empty($birthday)) return '';
//获取当前年份;
$now_year = substr(date('Y-m-d'),0,4);

//获取当前年份月份;
$now_month =...

js获取近三个月、近一个月、近一周时间

获取近一周时间
var end = new Date();
var year = end.getFullYear();
var month = end.getMonth() + 1;//0-11表示1-12月
var day = end.getDate();
var dateObj = {};
dateObj.end = year + ...

2022春每日一题:Day 30

题目:[JSOI2009]电子字典
读完题后,暴力?确实,计算一下时间复杂度最坏情况下,20263*10000=1.5e8,卡一下常可以直接卡到7e7,最严格来说应该卡的过去,但是此题数据可以直接卡过。
代码:
#include <cstdio>
#include <cstdlib>
#include <...

C语言输出某年某月日历

C语言输出某年某月日历
#include<stdio.h>
int datetoweekday(int year, int month, int day) {
int monthday[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int monthday1[...

python-设计异常处理类Cexception,并基于异常处理类设计并实现日期类Date

【题目描述】定义一个异常类Cexception解决日期类实现中的自定义异常处理。设计的日期类应包含以下内容:① 有三个成员数据:年、月、日;② 有设置日期的成员函数;③ 有用格式"月/日/年"输出日期的成员函数;④ 要求在日期设置及有参构造函数中添加异常处理。程序中定义各种日期对象并测试。【注意事项】闰年的 2 月的天数为 29天,其它...

时间筛选,获取指定日期

# 获取指定年前 年后
# 时间 操作 +-
def getYer(date, option, number):
# 把传递过来时间格式化成年
year = datetime.datetime.strftime(date, "%Y")
# 用年默认为-操作
newyear = int(ye...

LeetCode每日一练【12】

LeetCode -- Integer to Roman
除数计数法
思路:

将所有罗马数字和数字的映射关系存储到对象中
依次使用罗马数字对应的数字数组romanVals与参数数字进行除法操作(获取罗马数字重复次数digit)和求余操作(判断罗马数字的类型)
根据获得到的罗马数字对应的数字value, 返回罗马数字, 然后再进行重复,...

LeetCode1154-一年中的第几天

原题链接:https://leetcode-cn.com/problems/day-of-the-year/
代码:

1 import datetime
2 class Solution:
3 def dayOfYear(self, date: str) -> int:
4 dd = dateti...

文章标题:leetcode每日一题 1185.一周中的第几天
文章链接:https://www.dianjilingqu.com/3614.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>