自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(203)
  • 收藏
  • 关注

原创 每日一题(980. 不同路径 III)-回溯

【代码】每日一题(980. 不同路径 III)-回溯。

2023-08-04 15:42:22 172

原创 每日一题(722. 删除注释)-模拟操作

定义标记为flag 当遇到"/"时, 代表有注释内容。

2023-08-03 17:37:38 320

原创 每日一题(822. 翻转卡片游戏)-集合set

简述为:找到桌面卡片中 不重复的最小值,卡片可以来回反转。

2023-08-02 16:23:47 334

原创 每日一题(2681. 英雄的力量)-动态规划/前缀和

同时我们利用动态数组dp[i]表示以i为结点的最小值之和。j范围内的英雄能力值,计算过程如下。i为下标的子数组的最小值之和为dp[i]最后针对以i为结尾的数组计算 ,可以简化为如下。同时利用前缀和pre来记录最小值之和。nums数组代表英雄的能力值。

2023-08-01 17:52:41 342

原创 每日一题(143. 重排链表)-快慢指针/反转链表

【代码】每日一题(143. 重排链表)-快慢指针/反转链表。

2023-07-31 17:39:35 203

原创 每日一题(注意string里是char)-771. 宝石与石头

注:之前python写多了,需要注意c++中string类中是char。

2023-07-24 17:43:21 100

原创 每日一题(动态规划)-918. 环形子数组的最大和

【代码】每日一题(动态规划)-918. 环形子数组的最大和。

2023-07-20 21:04:30 64

原创 每日一题(set集合)-874. 模拟行走机器人

【代码】每日一题(set集合)-874. 模拟行走机器人。

2023-07-19 21:03:41 1159

原创 每日一题(小根堆)-1851. 包含每个查询的最小区间

【代码】每日一题(小根堆)-1851. 包含每个查询的最小区间。

2023-07-18 22:01:35 205

原创 安装Opencv-python包后可以import但是无法代码自动补全及代码标黄

oepncv-python 安装出现的问题

2022-10-24 10:48:17 892 1

原创 LeetCode刷题日记2022-4-22/396. 旋转函数-公式迭代

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

2022-04-22 15:02:31 702

原创 LeetCode刷题日记2022-4-21/824. 山羊拉丁文-模拟遍历

824. 山羊拉丁文题目描述题解思路题解代码题目描述给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下:如果单词以元音开头(‘a’, ‘e’, ‘i’, ‘o’, ‘u’),在单词后添加"ma"。 例如,单词 "apple" 变为 "applema" 。如果单词以辅音字母开头(即,非元音字母),

2022-04-21 14:34:01 152

原创 LeetCode刷题日记2022-4-20/388. 文件的最长绝对路径-字典

388. 文件的最长绝对路径题目描述题解思路题解代码题目描述假设有一个同时存储文件和目录的文件系统。下图展示了文件系统的一个示例:这里将 dir 作为根目录中的唯一目录。dir 包含两个子目录 subdir1 和 subdir2 。subdir1 包含文件 file1.ext 和子目录 subsubdir1;subdir2 包含子目录 subsubdir2,该子目录下包含文件 file2.ext 。在文本格式中,如下所示(⟶表示制表符):dir⟶ subdir1⟶ ⟶ file1.ext⟶

2022-04-20 15:26:58 135

原创 LeetCode刷题日记2022-4-19/821. 字符的最短距离-双向遍历

821. 字符的最短距离题目描述题解思路题解代码题目描述给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。两个下标 i 和 j 之间的 距离 为 abs(i - j) ,其中 abs 是绝对值函数。示例 1:输入:s = "loveleetcode", c = "e"输出:[3,2,1,0,1,0,0

2022-04-19 09:02:57 116

原创 LeetCode刷题日记2022-4-18/386. 字典序排数-深度优先遍历

386. 字典序排数题目描述题解思路题解代码题目描述给你一个整数 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]提示:1 <= n <= 5 * 104题解思路深度优先遍历字典树题解代码class Solution: def lexical

2022-04-18 08:39:45 314

原创 LeetCode刷题日记2022-4-17/819. 最常见的单词-re.split()分割

819. 最常见的单词题目描述题解思路题解代码题目描述给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。示例:输入: paragraph = "Bob hit a ball, the hit BALL flew far after it was hit."banned =

2022-04-17 10:22:36 98

原创 LeetCode刷题日记2022-4-16/479. 最大回文数乘积-从大到小枚举

479. 最大回文数乘积题目描述题解思路题解代码题目描述给定一个整数 n ,返回 可表示为两个 n 位整数乘积的 最大回文整数 。因为答案可能非常大,所以返回它对 1337 取余 。示例 1:输入:n = 2输出:987解释:99 x 91 = 9009, 9009 % 1337 = 987示例 2:输入: n = 1输出: 9提示:1 <= n <= 8题解思路给定n位数字 两个n位数字乘积的最大回文整数回文数=左半部分+右半部分我们从最大的左半部分

2022-04-16 19:15:31 452

原创 LeetCode刷题日记2022-4-14/1672. 最富有客户的资产总量-简单模拟

1672. 最富有客户的资产总量题目描述题解思路题解代码题目描述给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。示例 1:输入:accounts = [[1,2,3],[3,2,1]]输出:6解释:第 1 位客户的资产总量 = 1 + 2 + 3 =

2022-04-14 08:41:41 117

原创 LeetCode刷题日记2022-4-13/380. O(1) 时间插入、删除和获取随机元素-哈希表&列表

@[toc](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 09:28:26 598

原创 LeetCode刷题日记2022-4-12/806. 写字符串需要的行数-模拟操作

806. 写字符串需要的行数-模拟操作题目描述题解思路题解代码题目描述我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths ,这个数组 widths[0] 代表 ‘a’ 需要的单位, widths[1] 代表 ‘b’ 需要的单位,…, widths[25] 代表 ‘z’ 需要的单位。现在回答两个问题:至少多少行能放下S,以及最后一行使用的宽度是多少个单位

2022-04-12 08:38:45 128

原创 LeetCode刷题日记2022-4-11/357. 统计各位数字都不同的数字个数-排列组合

357. 统计各位数字都不同的数字个数题目描述题解思路题解代码题目描述给你一个整数 n ,统计并返回各位数字都不同的数字 x 的个数,其中 0 <= x < 10n 。示例 1:输入:n = 2输出:91解释:答案应为除去 11、22、33、44、55、66、77、88、99 外,在 0 ≤ x < 100 范围内的所有数字。 示例 2:输入:n = 0输出:1提示:0 <= n <= 8题解思路排列组合, 因为要各个位数的不相同 因此上一位选

2022-04-11 08:58:29 913

原创 LeetCode刷题日记2022-4-10/804. 唯一摩尔斯密码词-集合

804. 唯一摩尔斯密码词题目描述题解思路题解代码题目描述国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如:‘a’ 对应 “.-” ,‘b’ 对应 “-…” ,‘c’ 对应 “-.-.” ,以此类推。为了方便,所有 26 个英文字母的摩尔斯密码表如下:[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--

2022-04-10 08:53:36 150

原创 LeetCode刷题日记2022-4-9/780. 到达终点-倒序操作

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)

2022-04-09 10:12:41 184

原创 LeetCode刷题日记2022-4-8/429. N 叉树的层序遍历-BFS

429. N 叉树的层序遍历题目描述题解思路题解代码题目描述给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,n

2022-04-08 09:39:50 99

原创 LeetCode刷题日记2022-4-7/796. 旋转字符串

796. 旋转字符串题目描述题解思路题解代码题目描述给定两个字符串, s 和 goal。如果在若干次旋转操作之后,s 能变成 goal ,那么返回 true 。s 的 旋转操作 就是将 s 最左边的字符移动到最右边。例如, 若 s = ‘abcde’,在旋转一次之后结果就是’bcdea’ 。示例 1:输入: s = "abcde", goal = "cdeab"输出: true示例 2:输入: s = "abcde", goal = "abced"输出: false提示:1

2022-04-07 08:36:46 488

原创 LeetCode刷题日记2022-4-6/310. 最小高度树-BFS

310. 最小高度树题目描述题解思路题解代码题目描述树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。给你一棵包含 n 个节点的树,标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 edges 列表(每一个边都是一对标签),其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间存在一条无向边。可选择树中任何一个节点作为根。当选择节点 x 作为根节点时,设结果树的高度为 h 。在所有可能的树中,

2022-04-06 09:32:55 152

原创 LeetCode刷题日记2022-4-5/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

2022-04-05 09:21:49 540

原创 LeetCode刷题日记2022-4-4/307. 区域和检索 - 数组可修改-树状数组(BIT)

307. 区域和检索 - 数组可修改题目描述题解思路题解代码题目描述给你一个数组 nums ,请你完成两类查询。其中一类查询要求 更新 数组 nums 下标对应的值另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nums元素的 和 ,其中 left <= right实现 NumArray 类:NumArray(int[] nums) 用整数数组 nums 初始化对象void update(int index, int val) 将 nums

2022-04-04 11:27:49 1411

原创 第 287 场周赛

第 287 场周赛转化时间需要的最少操作数-字符串转化求差题目描述题解思路题解代码找出输掉零场或一场比赛的玩家-字典题目描述题解思路题解代码每个小孩最多能分到多少糖果-二分查找题目描述题解思路题解代码转化时间需要的最少操作数-字符串转化求差题目描述给你两个字符串 current 和 correct ,表示两个 24 小时制时间 。24 小时制时间 按 “HH:MM” 进行格式化,其中 HH 在 00 和 23 之间,而 MM 在 00 和 59 之间。最早的 24 小时制时间为 00:00 ,最

2022-04-03 14:51:49 657

原创 LeetCode刷题日记2022-4-3/744. 寻找比目标字母大的最小字母-线性搜索&二分查找

744. 寻找比目标字母大的最小字母题目描述题解思路题解代码题目描述给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。在比较时,字母是依序循环出现的。举个例子:如果目标字母 target = ‘z’ 并且字符列表为 letters = [‘a’, ‘b’],则答案返回 ‘a’示例 1:输入: letters = ["c", "f", "j"],target = "a"输出: "c"示例 2

2022-04-03 09:04:43 86

原创 LeetCode刷题日记2022-4-2/420. 强密码检验器-分类讨论

420. 强密码检验器题目描述题解思路题解代码题目描述如果一个密码满足下述所有条件,则认为这个密码是强密码:由至少 6 个,至多 20 个字符组成。至少包含 一个小写 字母,一个大写 字母,和 一个数字 。同一字符 不能 连续出现三次 (比如 “…aaa…” 是不允许的, 但是 “…aa…a…” 如果满足其他条件也可以算是强密码)。给你一个字符串 password ,返回 将 password 修改到满足强密码条件需要的最少修改步数。如果 password 已经是强密码,则返回 0 。在一

2022-04-02 12:38:03 438

原创 LeetCode刷题日记2022-4-1/954. 二倍数对数组-Counter&Sorted函数

954. 二倍数对数组题目描述题解思路题解代码题目描述给定一个长度为偶数的整数数组 arr,只有对 arr 进行重组后可以满足 “对于每个 0 <= i < len(arr) / 2,都有 arr[2 * i + 1] = 2 * arr[2 * i]” 时,返回 true;否则,返回 false。示例 1:输入:arr = [3,1,3,6]输出:false示例 2:输入:arr = [2,1,2,6]输出:false示例 3:输入:arr = [4,-2,2,-4]

2022-04-01 09:40:54 674

原创 LeetCode刷题日记2022-3-31/728. 自除数-暴力循环遍历&divmod函数

728. 自除数题目描述题解思路题解代码题目描述自除数 是指可以被它包含的每一位数整除的数。例如,128 是一个 自除数 ,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。自除数 不允许包含 0 。给定两个整数 left 和 right ,返回一个列表,列表的元素是范围 [left, right] 内所有的 自除数 。示例 1:输入:left = 1, right = 22输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 1

2022-03-31 08:55:41 1080

原创 LeetCode刷题日记2022-3-30/1606. 找到处理最多请求的服务器-优先队列&二分查找

1606. 找到处理最多请求的服务器题目描述题解思路题解代码Heap模块使用方法:SortedList使用方法:题目描述你有 k 个服务器,编号为 0 到 k-1 ,它们可以同时处理多个请求组。每个服务器有无穷的计算能力但是 不能同时处理超过一个请求 。请求分配到服务器的规则如下:第 i (序号从 0 开始)个请求到达。如果所有服务器都已被占据,那么该请求被舍弃(完全不处理)。如果第 (i % k) 个服务器空闲,那么对应服务器会处理该请求。否则,将请求安排给下一个空闲的服务器(服务器构成一个

2022-03-30 10:34:53 167

原创 LeetCode刷题日记2022-3-29/2024. 考试的最大困扰度-滑动窗口找最大

2024. 考试的最大困扰度题目描述题解思路题解代码题目描述一位老师正在出一场由 n 道判断题构成的考试,每道题的答案为 true (用 ‘T’ 表示)或者 false (用 ‘F’ 表示)。老师想增加学生对自己做出答案的不确定性,方法是 最大化 有 连续相同 结果的题数。(也就是连续出现 true 或者连续出现 false)。给你一个字符串 answerKey ,其中 answerKey[i] 是第 i 个问题的正确结果。除此以外,还给你一个整数 k ,表示你能进行以下操作的最多次数:每次

2022-03-29 09:04:27 136

原创 LeetCode刷题日记2022-3-28/693. 交替位二进制数-简单模拟位运算

693. 交替位二进制数题目描述题解思路题解代码题目描述给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。示例 1:输入:n = 5输出:true解释:5 的二进制表示是:101示例 2:输入:n = 7输出:false解释:7 的二进制表示是:111.示例 3:输入:n = 11输出:false解释:11 的二进制表示是:1011.提示:1 <= n <= 231 - 1题解思路利用位运

2022-03-28 09:00:20 391

原创 第286场周赛

第286场周赛找出两数组的不同-遍历&集合题目描述题解思路题解代码美化数组的最少删除数-遍历题目描述题解思路题解代码找出两数组的不同-遍历&集合题目描述给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中:answer[0] 是 nums1 中所有 不 存在于 nums2 中的 不同 整数组成的列表。answer[1] 是 nums2 中所有 不 存在于 nums1 中的 不同 整数组成的列表。注意:列表中的整

2022-03-27 19:29:19 1161

原创 LeetCode刷题日记2022-3-27/2028. 找出缺失的观测数据-divmod()函数

2028. 找出缺失的观测数据题目描述题解思路divmod函数题解代码题目描述现有一份 n + m 次投掷单个 六面 骰子的观测数据,骰子的每个面从 1 到 6 编号。观测数据中缺失了 n 份,你手上只拿到剩余 m 次投掷的数据。幸好你有之前计算过的这 n + m 次投掷数据的 平均值 。给你一个长度为 m 的整数数组 rolls ,其中 rolls[i] 是第 i 次观测的值。同时给你两个整数 mean 和 n 。返回一个长度为 n 的数组,包含所有缺失的观测数据,且满足这 n + m 次投掷的

2022-03-27 09:13:57 233

原创 LeetCode刷题日记2022-3-26/682. 棒球比赛-模拟操作

682. 棒球比赛题目描述题解思路题解代码题目描述你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则:整数 x - 表示本回合新获得分数 x“+” - 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。“D” - 表示本回合新获得的得分是前一次得分的两倍。

2022-03-26 09:32:58 77

原创 LeetCode刷题日记2022-3-25/172. 阶乘后的零-10的个数

172. 阶乘后的零题目描述题解思路题解代码题目描述给定一个整数 n ,返回 n! 结果中尾随零的数量。提示 n! = n * (n - 1) * (n - 2) * … * 3 * 2 * 1示例 1:输入:n = 3输出:0解释:3! = 6 ,不含尾随 0示例 2:输入:n = 5输出:1解释:5! = 120 ,有一个尾随 0示例 3:输入:n = 0输出:0提示:0 <= n <= 104题解思路因为要求的是阶乘 之后带0的个数也就是2*

2022-03-25 11:10:39 350

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除