首页 > 其他分享 >【每日一题】LeetCode 1185.一周中的第几天

【每日一题】LeetCode 1185.一周中的第几天

时间:2023-06-07 14:03:49浏览次数:48  
标签:第几天 int 1185 Saturday month year datetime LeetCode day


题目

给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。

输入为三个整数:day、month 和 year,分别表示日、月、年。

您返回的结果必须是这几个值中的一个 {“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”}。

示例

输入:day = 31, month = 8, year = 2019
输出:“Saturday”

代码

版本1

class Solution:
    def dayOfTheWeek(self, day: int, month: int, year: int) -> str:
        from datetime import datetime
        res={2:"Sunday", 3:"Monday", 4:"Tuesday", 5:"Wednesday", 6:"Thursday", 0:"Friday", 1:"Saturday"}
        start = datetime(1971, 1, 1)
        days=(datetime(year, month, day)- start).days
        return res[days%7]

版本2

class Solution:
    def dayOfTheWeek(self, day: int, month: int, year: int) -> str:
            from datetime import datetime
            x = datetime(year, month, day)
            return x.strftime("%A")


标签:第几天,int,1185,Saturday,month,year,datetime,LeetCode,day
From: https://blog.51cto.com/u_15567308/6431268

相关文章

  • LeetCode 1790.仅执行一次字符串交换能否使两个字符串相等
    LeetCode1790.仅执行一次字符串交换能否使两个字符串相等思路暴力模拟,根据题目思路直接写代码即可,依次遍历字符串的每一位,如果相等则继续,如果不相同则分别储存在记录量flag1,flag2中,如果不同的位置超过两个或者只有一个则返回false,如果不存在不同位置或者不同的位置相同就返回tru......
  • 【每日一题】LeetCode 913.猫和老鼠(hard题)
    题目两位玩家分别扮演猫和老鼠,在一张无向图上进行游戏,两人轮流行动。图的形式是:graph[a]是一个列表,由满足ab是图中的一条边的所有节点b组成。老鼠从节点1开始,第一个出发;猫从节点2开始,第二个出发。在节点0处有一个洞。在每个玩家的行动中,他们必须沿着图中与所在当前......
  • LeetCode 481.神奇字符串
    LeetCode481.神奇字符串本题目应该说难在读题,根据题目描述的意思,s作为一个神奇字符串,他的每一组数都是根据前面的数去判定的,以开头的122之后为例,122之的末尾为2,而s的规则是1和2交替出现,所以后面应当跟着"1",而这一组"1"的数量则由其前面的"2"来决定,所以这一组有两个"1",同理,在这后面......
  • LeetCode 9.回文数
    LeetCode9.回文数思路分两种情况。如果值为负数,则当前数肯定不是回文数如果值为正数,则将其数值反转后与原数值比较,如果相同则是回文数代码classSolution{publicbooleanisPalindrome(intx){if(x<0)returnfalse;inttmp=0,num=x;while(num......
  • LeetCode 915.分割数组
    LeetCode915.分割数组思路模拟题,两遍遍历,因为要保证左侧区间尽可能小,所以就要找到最左面的适合的点,所以第一遍先从最右边开始记录前缀最小的数,之后再从左往右遍历一遍记录当前最大的前缀,同时将当前最大前缀与下一位的最小前缀比较,如果小于下一位的最小前缀则直接输出即可代码class......
  • LeetCode 934.最短的桥
    LeetCode934.最短的桥题目限制了岛的数量肯定为2,所以我们只需要找到两个岛即可,首先通过遍历每一个坐标找到一个岛的点(值为1),接着以这个点开始DFS,找到该岛上所有的点,并将值设为-1,然后以这些点为基础集合,再进行BFS,当找到第一个值为1的点时,BFS的层数就是需要翻转的数目classSolution......
  • LeetCode 907.子数组的最小值之和
    LeetCode907.子数组的最小值之和本题由于每一项都需要遍历到,所以我们要计算所有可能的排列组合情况,所以这道题我们应该从每个元素分别出发,构建单调栈,找到每个元素左边和右边第一个比他小的元素,在这个区间范围内,我们可以断定任何一个子区间得到的最小值都是当前选定这个元素,所以最......
  • 【LeetCode】11月每日一题刷题记录
    575.分糖果classSolution{public:intdistributeCandies(vector<int>&candyType){unordered_set<int>S;for(autoc:candyType)S.insert(c);returnmin(candyType.size()/2,S.size());}};237.删除链表中的节点由于是单链表......
  • LeetCode 862.和至少为k的最短子数组
    LeetCode862.和至少为k的最短子数组本题前缀和队列并不单调,所以应该算变种单调队列,在计算出单调队列以后还要进行进一步优化,即在如下条件如果我们找到当前的s[i]满足条件,则说明之后选取的s[i]不管是多少,均没有当前s[i]距离s[j]近,所以在此以后的值均可以丢弃,同理,s[j]之前的值也是......
  • LeetCode 388.文件的最长绝对路径
    题目链接思路针对文件路径的特征,一个文件中一定包含.分隔符,以此为依据可以判定当前字符串是否是一个文件,文件系统是一个树形结构的角度来看的话,题中给定的字符串实际上是以一个树形结构前序遍历的序列,连续的\t表示出了当前的深度,而相邻的节点之间以\n进行分割。假设当前的路径为x/......