![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
suxiaorui
孤独与我 随风相伴
展开
-
762. 二进制表示中质数个计算置位
762. 二进制表示中质数个计算置位给你两个整数left和right,在闭区间[left, right]范围内,统计并返回计算置位位数为质数的整数个数。计算置位位数就是二进制表示中1的个数。例如,21的二进制表示10101有3个计算置位。示例 1:输入:left = 6, right = 10输出:4解释:6 -> 110 (2 个计算置位,2 是质数)7 -> 111 (3 个计算置位,3 是质数)9 -> 1001 (...原创 2022-04-05 09:57:15 · 418 阅读 · 0 评论 -
Leetcode—— 191. 位1的个数
191. 位1的个数编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。 在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的示例 3中,输入表示有符号整数-3。示例 1:输...原创 2022-04-05 09:49:34 · 305 阅读 · 0 评论 -
Leetcode—— 152. 乘积最大子数组
152. 乘积最大子数组给你一个整数数组 nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释:子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释:结果不能为 2, 因为 [-2,-1] 不是子数组。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-produc...原创 2021-11-05 15:52:49 · 238 阅读 · 0 评论 -
Leetcode——5392. 分割字符串的最大得分
5392. 分割字符串的最大得分给你一个由若干 0 和 1 组成的字符串 s ,请你计算并返回将该字符串分割成两个 非空 子字符串(即 左 子字符串和 右 子字符串)所能获得的最大得分。「分割字符串的得分」为 左 子字符串中 0 的数量加上 右 子字符串中 1 的数量。示例 1:输入:s = “011101”输出:5解释:将字符串 s 划分为两个非空子字符串的可行方案有:左子字符串...原创 2020-04-26 12:31:12 · 843 阅读 · 1 评论 -
Leetcode——5393. 可获得的最大点数
5393. 可获得的最大点数几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。示例 1:输入:cardPoints = [1,2,3,4,5,6,...原创 2020-04-26 12:26:52 · 516 阅读 · 0 评论 -
Leetcode——5390. 数青蛙
5390. 数青蛙给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 “croak” )的组合。由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs 中会混合多个 “croak” 。请你返回模拟字符串中所有蛙鸣所需不同青蛙的最少数目。注意:要想发出蛙鸣 “croak”,青蛙必须 依序 输出 ‘c’, ’r’, ’o’, ’a’, ’k’ 这 5 个字母。...原创 2020-04-19 18:18:18 · 541 阅读 · 0 评论 -
Leetcode——5388. 重新格式化字符串
5388. 重新格式化字符串给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母。请你将该字符串重新格式化,使得任意两个相邻字符的类型都不同。也就是说,字母后面应该跟着数字,而数字后面应该跟着字母。请你返回 重新格式化后 的字符串;如果无法按要求重新格式化,则返回一个 空字符串 。示例 1:输入:s = “a0b1c2”输出:“0a1b2c”解释:“0a1b2c” 中任意...原创 2020-04-19 17:00:45 · 425 阅读 · 0 评论 -
Leetcode——第184周赛
第184场周赛5380. 数组中的字符串匹配给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 word[i] ,那么字符串 words[i] 就是 words[j] 的一个子字符串。示例 1:输入:words = [“mass”...原创 2020-04-12 12:38:15 · 277 阅读 · 0 评论 -
Leetcode—— 5369. 统计作战单位数
5369. 统计作战单位数n 名士兵站成一排。每个士兵都有一个 独一无二 的评分 rating 。每 3 个士兵可以组成一个作战单位,分组规则如下:从队伍中选出下标分别为 i、j、k 的 3 名士兵,他们的评分分别为 rating[i]、rating[j]、rating[k]作战单位需满足: rating[i] < rating[j] < rating[k] 或者 rating...原创 2020-03-29 18:11:25 · 454 阅读 · 0 评论 -
Leetcode—— 5368. 找出数组中的幸运数
5368. 找出数组中的幸运数在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。给你一个整数数组 arr,请你从中找出并返回一个幸运数。如果数组中存在多个幸运数,只需返回 最大 的那个。如果数组中不含幸运数,则返回 -1 。示例 1:输入:arr = [2,2,3,4]输出:2解释:数组中唯一的幸运数是 2 ,因为数值 2 的出现频次也是 2 。...原创 2020-03-29 17:58:08 · 879 阅读 · 0 评论 -
Leetcode——5348. 两个数组间的距离值
5348. 两个数组间的距离值给你两个整数数组 arr1 , arr2 和一个整数 d ,请你返回两个数组之间的 距离值 。「距离值」 定义为符合此描述的元素数目:对于元素 arr1[i] ,不存在任何元素 arr2[j] 满足 |arr1[i]-arr2[j]| <= d 。示例 1:输入:arr1 = [4,5,8], arr2 = [10,9,1,8], d = 2输出:2...原创 2020-03-23 00:14:11 · 426 阅读 · 0 评论 -
Leetcode——5364. 按既定顺序创建目标数组
5364. 按既定顺序创建目标数组给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:目标数组 target 最初为空。按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。重复上一步,直到在 nums 和 index 中都没有要读取的元素。请你返回目标数组。题目保证数字插入...原创 2020-03-23 00:07:52 · 300 阅读 · 0 评论 -
Leetcode——5350. 将整数按权重排序
5350. 将整数按权重排序我们将整数 x 的 权重 定义为按照下述规则将 x 变成 1 所需要的步数:如果 x 是偶数,那么 x = x / 2如果 x 是奇数,那么 x = 3 * x + 1比方说,x=3 的权重为 7 。因为 3 需要 7 步变成 1 (3 --> 10 --> 5 --> 16 --> 8 --> 4 --> 2 --> ...原创 2020-03-23 00:03:10 · 278 阅读 · 0 评论 -
Leetcode——5367. 最长快乐前缀
5367. 最长快乐前缀「快乐前缀」是在原字符串中既是 非空 前缀也是后缀(不包括原字符串自身)的字符串。给你一个字符串 s,请你返回它的 最长快乐前缀。如果不存在满足题意的前缀,则返回一个空字符串。示例 1:输入:s = “level”输出:“l”解释:不包括 s 自己,一共有 4 个前缀(“l”, “le”, “lev”, “leve”)和 4 个后缀(“l”, “el”, “v...原创 2020-03-22 23:56:19 · 480 阅读 · 0 评论 -
Leetcode——21.合并两个有序链表
21.合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:新建头部保护结点 p,设置 cur 指针指向 p若当前 l1 指向的结点的值比 l2 指向的结点的值小,则令cur的next...原创 2020-03-20 13:25:26 · 145 阅读 · 0 评论 -
Leetcode—— 面试题 01.06. 字符串压缩
面试题 01.06. 字符串压缩字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1:输入:"aabcccccaaa"输出:"a2b1c5a3"示例2:输入:"abbccd"输出:"...原创 2020-03-16 18:15:58 · 322 阅读 · 0 评论 -
Leetcode—— 1013. 将数组分成和相等的三个部分
1013. 将数组分成和相等的三个部分给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A[j-1] + … + A[A.length - 1]) 就可以将...原创 2020-03-11 20:08:55 · 361 阅读 · 0 评论 -
Leetcode—— 104. 二叉树的最大深度
104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble...原创 2020-03-09 18:10:46 · 180 阅读 · 0 评论 -
Leetcode—— 100. 相同的树
给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1/ \ / 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1/ 2...原创 2020-03-09 18:10:06 · 183 阅读 · 0 评论 -
Leetcode—— 101. 对称二叉树
101. 对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1/ 2 2\ 3 3来源:力扣(LeetCode)链接:https:/...原创 2020-03-09 18:09:47 · 123 阅读 · 0 评论 -
Leetcode—— 面试题59 - II. 队列的最大值
面试题59 - II. 队列的最大值请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value需要返回 -1示例 1:输入:["MaxQueue","push_back","push_back","max_valu...原创 2020-03-07 19:19:37 · 261 阅读 · 0 评论 -
Leetcode—— 面试题57 - II. 和为s的连续正数序列
面试题57 - II. 和为s的连续正数序列输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]限制:1 ...原创 2020-03-06 21:12:27 · 330 阅读 · 0 评论 -
Leetcode—— 1103. 分糖果 II
1103. 分糖果 II排排坐,分糖果。我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。重复上述过程...原创 2020-03-05 22:45:48 · 285 阅读 · 0 评论 -
Leetcode—— 575. 分糖果
575. 分糖果给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类...原创 2020-03-05 22:14:03 · 256 阅读 · 0 评论 -
Leetcode—— 994. 腐烂的橘子
994. 腐烂的橘子在给定的网格中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。示例 1:输入:[[2,1,1],[1,1,0],[0,1,1]]输出:4示例 2:输入:...原创 2020-03-05 11:51:37 · 541 阅读 · 0 评论 -
Leetcode—— 面试题 02.02. 返回倒数第 k 个节点
面试题 02.02. 返回倒数第 k 个节点实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。注意:本题相对原题稍作改动示例:输入: 1->2->3->4->5 和 k = 2输出: 4说明:给定的 k 保证是有效的。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/kth-node-fro...原创 2020-03-04 17:10:22 · 497 阅读 · 1 评论 -
Leetcode—— 面试题 02.01. 移除重复节点
面试题 02.01. 移除重复节点编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1:输入:[1, 2, 3, 3, 2, 1]输出:[1, 2, 3]示例2:输入:[1, 1, 1, 1, 2]输出:[1, 2]提示:链表长度在[0, 20000]范围内。链表元素在[0, 20000]范围内。来源:力扣(LeetCode)链接:https://leetco...原创 2020-03-04 16:52:44 · 913 阅读 · 4 评论 -
Leetcode—— 876. 链表的中间结点
876. 链表的中间结点给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = ...原创 2020-03-03 21:59:16 · 143 阅读 · 0 评论 -
Leetcode—— 237. 删除链表中的节点
237. 删除链表中的节点请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 ->...原创 2020-03-03 21:05:00 · 124 阅读 · 0 评论 -
Leetcode—— 面试题 10.01. 合并排序的数组
面试题 10.01. 合并排序的数组给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。初始化 A 和 B 的元素数量分别为 m 和 n。示例:输入:A = [1,2,3,0,0,0], m = 3B = [2,5,6], n = 3输出: [1,2,2,3,5,6]来源:力扣(LeetCode)链接...原创 2020-03-03 20:06:23 · 361 阅读 · 0 评论 -
Leetcode—— 206. 反转链表
206. 反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解题思路:可以用头插法程序代码(Python):class Solution: def reverseList(self, head: ListNode): p = N...原创 2020-03-02 21:23:24 · 260 阅读 · 0 评论 -
Leetcode—— 203. 移除链表元素
203. 移除链表元素删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5解题思路:创造一个哨兵结点p,让其指向head,开始遍历链表就ok了。程序代码(Python):、class Solution: def remov...原创 2020-03-02 20:03:43 · 172 阅读 · 0 评论 -
Leetcode—— 350. 两个数组的交集 II
350. 两个数组的交集 II给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro...原创 2020-03-01 21:54:48 · 138 阅读 · 0 评论 -
Leetcode—— 136.只出现一次的数字
136.只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4来源:力扣(LeetCode)链接:https://leetcode-cn....原创 2020-03-01 15:51:16 · 331 阅读 · 0 评论 -
Leetcode—— 64. 最小路径和
64. 最小路径和给定一个包含非负整数的mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。解题思路:1.确定状态dp[i][j] 表示到达第 i 行、第 ...原创 2020-02-29 21:33:35 · 390 阅读 · 0 评论 -
Leetcode—— 63. 不同路径 II
63. 不同路径 II一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m和 n 的值均不超过 100。示例1:...原创 2020-02-29 20:28:24 · 190 阅读 · 0 评论 -
Leetcode—— 面试题 08.01. 三步问题
面试题 08.01. 三步问题三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。示例1:输入:n = 3输出:4说明: 有四种走法示例2:输入:n = 5输出:13提示:n范围在[1, 1000000]之间来源:力扣(LeetCod...原创 2020-02-29 12:27:30 · 906 阅读 · 0 评论 -
Leetcode—— 1143.最长公共子序列
1143.最长公共子序列给定两个字符串text1 和text2,返回这两个字符串的最长公共子序列。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥...原创 2020-02-28 22:47:32 · 421 阅读 · 0 评论 -
Leetcode—— 62.不同路径
62.不同路径一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m和n的值均不超过 100。示例1:输入: m = 3, n = 2输...原创 2020-02-28 21:21:03 · 158 阅读 · 0 评论 -
Leetcode—— 896. 单调数列
896. 单调数列如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A是单调数组时返回 true,否则返回 false。示例 1:输入:[1,2,2,3]输出:true...原创 2020-01-21 19:29:49 · 386 阅读 · 0 评论