Python
Do1phln
医学(病理学)人工智能PhD,曾经是CTFer
展开
-
【每日一题】LeetCode 89.格雷编码
题目n 位格雷码序列 是一个由 2n 个整数组成的序列,其中:每个整数都在范围 [0, 2n - 1] 内(含 0 和 2n - 1)第一个整数是 0一个整数在序列中出现 不超过一次每对 相邻 整数的二进制表示 恰好一位不同 ,且第一个 和 最后一个 整数的二进制表示 恰好一位不同给你一个整数 n ,返回任一有效的 n 位格雷码序列 。示例输入:n = 2输出:[0,1,3,2]解释:[0,1,3,2] 的二进制表示是 [00,01,11,10] 。00 和 01 有一位不同原创 2022-01-08 21:49:44 · 3474 阅读 · 0 评论 -
【每日一题】LeetCode 1614. 括号的最大嵌套深度
题目如果字符串满足以下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS):字符串是一个空字符串 “”,或者是一个不为 “(” 或 “)” 的单字符。字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B 都是 有效括号字符串 。字符串可以写为 (A),其中 A 是一个 有效括号字符串 。类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S):depth("") = 0depth© = 0,其中 C 是单个字符原创 2022-01-07 23:18:04 · 179 阅读 · 0 评论 -
【每日一题】LeetCode 1576.替换所有的问号
题目给你一个仅包含小写英文字母和 ‘?’ 字符的字符串 s,请你将所有的 ‘?’ 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。注意:你 不能 修改非 ‘?’ 字符。题目测试用例保证 除 ‘?’ 字符 之外,不存在连续重复的字符。在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。示例输入:s = “?zs”输出:“azs”解释:该示例共有 25 种解决方案,从 “azs” 到 “yzs”原创 2022-01-05 17:04:51 · 184 阅读 · 0 评论 -
【每日一题】LeetCode 913.猫和老鼠(hard题)
题目两位玩家分别扮演猫和老鼠,在一张 无向 图上进行游戏,两人轮流行动。图的形式是:graph[a] 是一个列表,由满足 ab 是图中的一条边的所有节点 b 组成。老鼠从节点 1 开始,第一个出发;猫从节点 2 开始,第二个出发。在节点 0 处有一个洞。在每个玩家的行动中,他们 必须 沿着图中与所在当前位置连通的一条边移动。例如,如果老鼠在节点 1 ,那么它必须移动到 graph[1] 中的任一节点。此外,猫无法移动到洞中(节点 0)。然后,游戏在出现以下三种情形之一时结束:如果猫和老鼠出现在原创 2022-01-04 22:58:05 · 263 阅读 · 0 评论 -
【每日一题】LeetCode 1185.一周中的第几天
题目给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。输入为三个整数:day、month 和 year,分别表示日、月、年。您返回的结果必须是这几个值中的一个 {“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”}。示例输入:day = 31, month = 8, year = 2019输出:“Saturday”代码class Solution: def dayOfT原创 2022-01-03 16:54:57 · 145 阅读 · 0 评论 -
【python应用】干草堆(差分)
题目贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来。开始时,共有 N 个空干草堆,编号 1∼N。约翰给贝茜下达了 K 个指令,每条指令的格式为 A B,这意味着贝茜要在 A…B 范围内的每个干草堆的顶部添加一个新的干草捆。例如,如果贝茜收到指令 10 13,则她应在干草堆 10,11,12,13 中各添加一个干草捆。在贝茜完成了所有指令后,约翰想知道 N 个干草堆的中值高度——也就是说,如果干草堆按照高度从小到大排列,位于中间的干草堆的高度。方便起见,原创 2022-01-03 12:17:59 · 722 阅读 · 0 评论 -
【python练习】排列
题目给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 n。输出格式按字典序输出所有排列方案,每个方案占一行。代码n=int(input())path=[0 for i in range(n)]used=[False for i in range(n)]def dfs(u): if u==n: for i in range(n): print(path原创 2022-01-03 11:29:32 · 725 阅读 · 0 评论