![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode刷题
文章平均质量分 66
此去经年ToT
这个作者很懒,什么都没留下…
展开
-
2476.二叉搜索树最近节点查询
DFS,二分查找原创 2022-11-23 08:55:26 · 100 阅读 · 0 评论 -
791.自定义字符串排序
python按字典value顺序排列原创 2022-11-13 09:21:38 · 144 阅读 · 0 评论 -
leetcode 链表相交
双指针求单链表交集首个元素原创 2022-11-12 16:44:28 · 86 阅读 · 0 评论 -
856.括号的分数
856.括号的分数原创 2022-10-09 10:05:16 · 79 阅读 · 0 评论 -
508.出现次数最多的子树元素和
这题最容易想到的解法就是逐个元素求子树元素和,并将求得的结果作为key放入字典中,最后从values中找到一个出现次数最多的key,再遍历字典,把value=max_count的key存入ans中返回,就可以得到出现次数最多,可能有相同出现次数的一个子树元素和列表。 不过时间复杂度和空间复杂度都不是很理想,这种暴力求解的方式虽然直观,但效率太低。...原创 2022-06-19 08:57:16 · 96 阅读 · 0 评论 -
1823.找出游戏的获胜者
题目描述共有 n 名小伙伴一起做游戏。小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号。确切地说,从第 i 名小伙伴顺时针移动一位会到达第 (i+1) 名小伙伴的位置,其中 1 <= i < n ,从第 n 名小伙伴顺时针移动一位会回到第 1 名小伙伴的位置。游戏遵循如下规则:从第 1 名小伙伴所在位置 开始 。沿着顺时针方向数 k 名小伙伴,计数时需要 包含 起始时的那位小伙伴。逐个绕圈进行计数,一些小伙伴可能会被数过不止一次。你数到的最后一名小伙伴需要离开圈子,并视作原创 2022-05-04 18:16:11 · 115 阅读 · 0 评论 -
398.随机数索引
题目描述给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。注意:数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。示例:int[] nums = new int[] {1,2,3,3,3};Solution solution = new Solution(nums);// pick(3) 应该返回索引 2,3 或者 4。每个索引的返回概率应该相等。solution.pick(3);// pick(1)原创 2022-04-25 08:11:59 · 97 阅读 · 0 评论 -
868.二进制间距(python)
题目描述给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0 。如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离是它们的二进制表示中位置的绝对差。例如,"1001" 中的两个 1 的距离为 3 。示例 1:输入:n = 22输出:2解释:22 的二进制是 "10110" 。在 22 的二进制表示中,有三个 1,组成两对相邻的 1 。第一对相邻的 1 中,原创 2022-04-24 07:18:09 · 222 阅读 · 0 评论 -
396.旋转函数
题目描述给定一个长度为 n 的整数数组nums。假设arrk是数组nums顺时针旋转 k 个位置后的数组,我们定义nums的 旋转函数F为:F(k) = 0 * arrk[0] + 1 * arrk[1] + ... + (n - 1) * arrk[n - 1]返回F(0), F(1), ..., F(n-1)中的最大值。生成的测试用例让答案符合32 位 整数。示例 1:输入: nums = [4,3,2,6]输出: 26解释:F(0) =...原创 2022-04-22 08:38:25 · 167 阅读 · 0 评论 -
5.最长回文子串 && 647.回文子串 (python)
题目描述5.最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。647.回文子串给你.原创 2022-04-21 13:14:23 · 530 阅读 · 1 评论 -
386.字典序排数(python)
题目描述给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。示例 1:输入:n = 13输出:[1,10,11,12,13,2,3,4,5,6,7,8,9]示例 2:输入:n = 2输出:[1,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lexicographical-numbers著作权归领扣网络所有。商业转载请联系官方授权,原创 2022-04-18 11:49:17 · 923 阅读 · 0 评论 -
819.最常见的单词
题目描述给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。示例:输入:paragraph = "Bob hit a ball, the hit BALL flew far after it was hit."banned = ["hit"]输出: "ball"解释:..原创 2022-04-17 08:15:49 · 127 阅读 · 0 评论 -
155.最小栈
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现 MinStack 类:MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin() 获取堆栈中的最小元素。示例 1:输入:["MinStack","push","push","push","getMin","pop","top","getMin"].原创 2022-04-14 11:16:47 · 98 阅读 · 0 评论 -
380.O(1)时间插入、删除和获取随机元素
题目描述实现RandomizedSet 类:RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。bool remove(int val) 当元素 val 存在时,从集合中移除该项,并返回 true ;否则,返回 false 。int getRandom() 随机返回现有集合中的一项(测试用例保证调用此方法时集合中至少存在一个元素)。每个元素应原创 2022-04-13 12:53:48 · 861 阅读 · 0 评论 -
806.写字符串需要的行数
题目描述我们要把给定的字符串 S从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组widths,这个数组widths[0] 代表 'a' 需要的单位,widths[1] 代表 'b' 需要的单位,...,widths[25] 代表 'z' 需要的单位。现在回答两个问题:至少多少行能放下S,以及最后一行使用的宽度是多少个单位?将你的答案作为长度为2的整数列表返回。示例 1:...原创 2022-04-12 12:18:13 · 76 阅读 · 0 评论 -
17.电话号码的字母组合
题目描述给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/letter-c...原创 2022-04-11 13:23:13 · 407 阅读 · 0 评论 -
357.统计各位数字都不同的数字个数
题目描述给你一个整数 n ,统计并返回各位数字都不同的数字 x 的个数,其中 0 <= x < 10^n。示例 1:输入:n = 2输出:91解释:答案应为除去 11、22、33、44、55、66、77、88、99 外,在 0 ≤ x < 100 范围内的所有数字。示例 2:输入:n = 0输出:1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-numbers-with-unique-di..原创 2022-04-11 09:03:06 · 315 阅读 · 0 评论 -
804.唯一摩尔斯密码词
题目描述国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串,比如:'a' 对应 ".-" ,'b' 对应 "-..." ,'c' 对应 "-.-." ,以此类推。为了方便,所有 26 个英文字母的摩尔斯密码表如下:[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-"..原创 2022-04-10 08:56:00 · 111 阅读 · 0 评论 -
780.到达终点
题目描述给定四个整数sx,sy,tx和ty,如果通过一系列的转换可以从起点(sx, sy)到达终点(tx, ty),则返回 true,否则返回false。从点(x, y)可以转换到(x, x+y)或者(x+y, y)。示例 1:输入: sx = 1, sy = 1, tx = 3, ty = 5输出: true解释:可以通过以下一系列转换从起点转换到终点:(1, 1) -> (1, 2)(1, 2) -> (3, 2)(3, 2) -...原创 2022-04-09 09:06:47 · 57 阅读 · 0 评论 -
429.N叉树的层序遍历
题目描述给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。输入:root = [1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]来源:力扣(LeetCode)著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。学习到的内容由于刚开始接触这种比较复杂的二级指针类的题目,我一开始都不明白题目所给形参的含义,后来发现其实并不难理原创 2022-04-08 09:49:21 · 2468 阅读 · 0 评论 -
796.旋转字符串
题目描述给定两个字符串, s和goal。如果在若干次旋转操作之后,s能变成goal,那么返回true。s的 旋转操作 就是将s 最左边的字符移动到最右边。例如, 若s = 'abcde',在旋转一次之后结果就是'bcdea'。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rotate-string著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。自己的想法由于c语言中字符串是...原创 2022-04-07 09:49:36 · 83 阅读 · 0 评论 -
求n阶乘尾数中有多少个零
方法1:暴力解求出n的阶乘,并将该结果通过一次while循环判断,若n%10==0,count++,并将n/=10,退出循环后返回count的值即可。这种方式虽然容易理解,但对于较大的n而言,求出阶乘的结果可能就会发生上溢,因此这种方法不可行。方法2:统计因数中5的个数尾数中含有0表示该阶乘结果可以被10整除,10又可以分解成5*2,而因数5的个数相比于因数2要更少,所以每出现一个因数5总有对应的因数2与其相匹配,使末尾多出一个0,故统计因数中含有5的个数即可统计出n阶乘末尾有多少个零。而原创 2022-04-06 11:09:46 · 2050 阅读 · 0 评论