自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (1)
  • 收藏
  • 关注

原创 Could not access KVM kernel module相关问题

Could not find '/usr/share/qemu/sgabios.bin'. This script might not work properly.Could not access KVM kernel module: No such file or directoryqemu-system-x86_64: failed to initialize kvm: No such file or directory

2022-10-13 14:37:00 1347

原创 LC76. 最小覆盖子串

标题给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。示例:输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC"提示:1 <= s.length, t.length <= 105s 和 t 由英文字母组成

2022-04-27 19:42:38 558

原创 LC189. 轮转数组

题目给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。提示:1 <= nums.length <= 10^5-2^31 <= nums[i] <= 2^31 - 10 <= k <= 10^5思路类似于字符串反转的题目步骤:将反转数k对数组长度len取余,避免一些重复旋转将最后k个数之前的先反转一次将最后k个数反转一次将数组反转一次代码class Solution {public: void rotate(v

2022-03-20 22:10:56 440

原创 LC152. 乘积最大子数组

题目给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个 32-位 整数。子数组 是数组的连续子序列。提示:1 <= nums.length <= 1000 <= nums[i] <= 400示例 :输入: nums = [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。思路求最大非空连续子数组,一般采用dp,建立二维数组进

2022-03-18 22:10:36 579

原创 LC310. 最小高度树

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

2022-03-08 20:03:45 295

原创 LC207. 课程表

题目你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。请你判断是否可能完成所有课程的学习?如果可以,返回 true ;否则,返回 false 。提示:1 &lt

2022-03-04 21:04:43 392

原创 LC313. 超级丑数

题目超级丑数 是一个正整数,并满足其所有质因数都出现在质数数组 primes 中。给你一个整数 n 和一个整数数组 primes ,返回第 n 个 超级丑数 。题目数据保证第 n 个 超级丑数 在 32-bit 带符号整数范围内。提示:1 <= n <= 1061 <= primes.length <= 1002 <= primes[i] <= 1000题目数据 保证 primes[i] 是一个质数primes 中的所有值都 互不相同 ,且按 递增顺序

2022-03-03 20:59:08 253

原创 LC128. 最长连续序列

题目给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。提示:0 <= nums.length <= 10^5-10^9 <= nums[i] <= 10^9示例:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。思路题目要求找出最长序列,一般需要采用排序,但是要求时间复杂度为

2022-02-17 14:11:12 160

原创 LC73. 矩阵置零

题目给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。提示:m == matrix.lengthn == matrix[0].length1 <= m, n <= 200-231 <= matrix[i][j] <= 231 - 1示例 :输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]思路

2022-02-16 17:27:19 895

原创 周赛2172. 数组的最大与和

题目给你一个长度为 n 的整数数组 nums 和一个整数 numSlots ,满足2 * numSlots >= n 。总共有 numSlots 个篮子,编号为 1 到 numSlots 。你需要把所有 n 个整数分到这些篮子中,且每个篮子 至多 有 2 个整数。一种分配方案的 与和 定义为每个数与它所在篮子编号的 按位与运算 结果之和。比方说,将数字 [1, 3] 放入篮子 1 中,[4, 6] 放入篮子 2 中,这个方案的与和为 (1 AND 1) + (3 AND 1) + (4 AND

2022-02-16 15:42:53 451

原创 LC220. 存在重复元素 III

题目给你一个整数数组 nums 和两个整数 k 和 t 。请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) <= t ,同时又满足 abs(i - j) <= k 。如果存在则返回 true,不存在返回 false。提示: 0 <= nums.length <= 2 * 10^4 -2^31 <= nums[i] <= 2^31 - 1 0 <= k <= 10^4 0 &lt

2022-02-09 21:14:27 588

原创 周赛2167. 移除所有载有违禁货物车厢所需的最少时间

题目给你一个下标从 0 开始的二进制字符串 s ,表示一个列车车厢序列。s[i] = ‘0’ 表示第 i 节车厢 不 含违禁货物,而 s[i] = ‘1’ 表示第 i 节车厢含违禁货物。作为列车长,你需要清理掉所有载有违禁货物的车厢。你可以不限次数执行下述三种操作中的任意一个:从列车 左 端移除一节车厢(即移除 s[0]),用去 1 单位时间。从列车 右 端移除一节车厢(即移除 s[s.length - 1]),用去 1 单位时间。从列车车厢序列的 任意位置 移除一节车厢,用去 2 单位时间。

2022-02-09 17:24:02 604

原创 周赛5986. 设置时间的最少代价

题目常见的微波炉可以设置加热时间,且加热时间满足以下条件:至少为 1 秒钟。至多为 99 分 99 秒。你可以 最多 输入 4 个数字 来设置加热时间。如果你输入的位数不足 4 位,微波炉会自动加 前缀 0 来补足 4 位。微波炉会将设置好的四位数中,前 两位当作分钟数,后 两位当作秒数。它们所表示的总时间就是加热时间。比方说:你输入 9 5 4 (三个数字),被自动补足为 0954 ,并表示 9 分 54 秒。你输入 0 0 0 8 (四个数字),表示 0 分 8 秒。你输入 8 0 9

2022-02-09 15:55:52 421

原创 LC222. 完全二叉树的节点个数

题目给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。提示:树中节点的数目范围是[0, 5 * 104]0 <= Node.val <= 5 * 104题目数据保证输入的树是 完全二叉树进阶:遍历树来统计节点是一种时间复杂度为 O(n) 的简单解决方案。你可以设计一个更

2022-02-02 21:25:00 930

原创 周赛5995. 字符串分组

题目给你一个下标从 0 开始的字符串数组 words 。每个字符串都只包含 小写英文字母 。words 中任意一个子串中,每个字母都至多只出现一次。如果通过以下操作之一,我们可以从 s1 的字母集合得到 s2 的字母集合,那么我们称这两个字符串为 关联的 :往 s1 的字母集合中添加一个字母。从 s1 的字母集合中删去一个字母。将 s1 中的一个字母替换成另外任意一个字母(也可以替换为这个字母本身)。数组 words 可以分为一个或者多个无交集的 组 。一个字符串与一个组如果满足以下 任一 条

2022-02-02 14:29:23 898

原创 周赛5994. 查找给定哈希值的子串

题目给定整数 p 和 m ,一个长度为 k 且下标从 0 开始的字符串 s 的哈希值按照如下函数计算:hash(s, p, m) = (val(s[0]) * p0 + val(s[1]) * p^1 + ... + val(s[k-1]) * p^k-1) mod m.其中 val(s[i]) 表示 s[i] 在字母表中的下标,从 val(‘a’) = 1 到 val(‘z’) = 26 。给你一个字符串 s 和整数 power,modulo,k 和 hashValue 。请你返回 s 中 第一

2022-01-30 23:07:07 775

原创 LC23. 合并K个升序链表

题目给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。提示:k == lists.length0 <= k <= 10^40 <= lists[i].length <= 500-10^4 <= lists[i][j] <= 10^4lists[i] 按 升序 排列lists[i].length 的总和不超过 10^4示例:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1

2022-01-29 18:15:24 2478

原创 LC8. 字符串转换整数 (atoi)

题目请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,"123

2022-01-28 15:16:34 993

原创 LC10. 正则表达式匹配

题目给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。提示:1 <= s.length <= 201 <= p.length <= 30s 只含小写英文字母。p 只含小写英文字母,以及字符 . 和 *。保证每次出现字符 * 时,前面都匹配到有效的字符思路题目中要求s与p正则表达式匹配,实际是指p

2022-01-27 23:44:56 774

原创 LC36. 有效的数独

题目请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)注意:一个有效的数独(部分已被填充)不一定是可解的。只需要根据以上规则,验证已经填入的数字是否有效即可。空白格用 '.' 表示。提示:board.length == 9board[i].length == 9board[i][j]

2022-01-25 19:35:13 488

原创 周赛5992. 基于陈述统计最多好人数

题目游戏中存在两种角色:好人:该角色只说真话。坏人:该角色可能说真话,也可能说假话。给你一个下标从 0 开始的二维整数数组 statements ,大小为 n x n ,表示 n 个玩家对彼此角色的陈述。具体来说,statements[i][j] 可以是下述值之一:0 表示 i 的陈述认为 j 是 坏人 。1 表示 i 的陈述认为 j 是 好人 。2 表示 i 没有对 j 作出陈述。另外,玩家不会对自己进行陈述。形式上,对所有 0 <= i < n ,都有 statement

2022-01-23 20:59:11 1533

原创 双周赛5973. 价格范围内最高排名的 K 样物品

题目给你一个下标从 0 开始的二维整数数组 grid ,它的大小为 m x n ,表示一个商店中物品的分布图。数组中的整数含义为:0 表示无法穿越的一堵墙。1 表示可以自由通过的一个空格子。所有其他正整数表示该格子内的一样物品的价格。你可以自由经过这些格子。从一个格子走到上下左右相邻格子花费 1 步。同时给你一个整数数组 pricing 和 start ,其中 pricing = [low, high] 且 start = [row, col] ,表示你开始位置为 (row, col) ,同时

2022-01-23 17:57:29 101

原创 LC16. 最接近的三数之和

题目给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。提示:3 <= nums.length <= 1000-1000 <= nums[i] <= 1000-10^4 <= target <= 10^4相似题目:LC15. 三数之和LC16. 最接近的三数之和LC18. 四数之和思路数组的长度为1000,如

2022-01-21 19:54:48 363

原创 LC4. 寻找两个正序数组的中位数

题目给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。提示:nums1.length == mnums2.length == n0 <= m <= 10000 <= n <= 10001 <= m + n <= 2000-10^6 <= nums1[i], nums2[i] <= 10^6思路字越少事越大系列…

2022-01-21 19:25:57 592

原创 LC258. 各位相加

题目给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。在 O(1) 时间复杂度内解决这个问题思路在O(1)时间复杂度完成此题,计算一个数学型数据,是一个典型数学类问题。最终需要找到一个公式,应该查找其中的规律。首先我们可以将前三十个数字各位的数字相加输出最终结果,观看一下结构1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 301 2 3 4 5 6 7 8 9 1

2022-01-19 23:48:20 305

原创 周赛5982. 解决智力问题

题目给你一个下标从 0 开始的二维整数数组 questions ,其中 questions[i] = [pointsi, brainpoweri] 。这个数组表示一场考试里的一系列题目,你需要 按顺序 (也就是从问题 0 开始依次解决),针对每个问题选择 解决 或者 跳过 操作。解决问题 i 将让你 获得 pointsi 的分数,但是你将 无法 解决接下来的 brainpoweri 个问题(即只能跳过接下来的 brainpoweri 个问题)。如果你跳过问题 i ,你可以对下一个问题决定使用哪种操作。

2022-01-17 14:50:51 359

原创 LC401. 二进制手表

题目二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,下面的二进制手表读取 “3:25” 。(图源:WikiMedia - Binary clock samui moon.jpg ,许可协议:Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) )给你一个整数 turnedOn ,表示当前亮着的 LED 的数量,返回二进制手表可以表示的所有

2022-01-14 20:04:49 390

原创 LC342. 4的幂

题目给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x提示: -231 <= n <= 231 - 1进阶:你能不使用循环或者递归来完成本题吗?时间复杂度O(1)的方法可能在面试时让手写思路4的幂一定是2的幂,所以可以在2的幂的判断条件上增加条件。首先看一下:2的幂:题解我们知道了2的幂条件是n&(n-1) == 0现在我们只要找到4的幂和其他2

2022-01-14 17:21:22 332

原创 LC231. 2 的幂

题目给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。提示:-231 <= n <= 231 - 1进阶:你能够不使用循环/递归解决此问题吗?思路进阶要求不用循环和递归,说明时间复杂度需要为O(1)。对于这种数值类运算,不经过循环只能采用位运算。位运算最常用的是二进制,在二进制中我们可以发现:1:12:104:1008:1000可以

2022-01-14 17:09:09 214

原创 LC145. 二叉树的后序遍历

题目中序遍历题解给你一棵二叉树的根节点 root ,返回其节点值的后序遍历 。提示:树中节点的数目在范围 [0, 100] 内-100 <= Node.val <= 100进阶:递归算法很简单,你可以通过迭代算法完成吗?思路迭代迭代方法的后序遍历与前序遍历和中序遍历稍微有一点点差别,因此记录一下。前序遍历访问到某一节点时可以先存储该节点数据,然后压栈该节点的右子节点,然后访问左子节点。中序遍历可以先压栈当前节点,然后依次访问左子节点,最后弹出该节点,并存储节点数据,再访

2022-01-13 20:23:14 176

原创 LC94. 二叉树的中序遍历

中序遍历的递归、迭代、Morris遍历三种方法详解,可参考此解决前序和后序遍历问题。

2022-01-13 17:07:06 349

原创 LC448. 找到所有数组中消失的数字

题目给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。提示:n == nums.length1 <= n <= 1051 <= nums[i] <= n进阶:你能在不使用额外空间且时间复杂度为 O(n) 的情况下解决这个问题吗? 你可以假定返回的数组不算在额外空间内。思路哈希如果单纯为了AC,不考虑空间复杂度,采用哈希集合是一个很好

2022-01-11 21:59:28 225

原创 LC160. 相交链表

题目给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。自定义评测:评测系统 的输入如下(你设计的程序 不适用 此输入):intersectVal - 相交的起始节点的值。如果不存在相交节点,这一值为 0listA - 第一个链表listB - 第二个链表skipA - 在 l

2022-01-08 17:38:36 587

原创 JSONDecodeError: Expecting value: line 1 column 1 (char 0)错误总结

读取普通json文件时出现此错误此处应为json文件的格式错误字典内键值应带双引号而不是单引号字典内最后一行应该不带逗号dict = { "key1": 1, "key1": 2,}爬虫时出现该错误爬虫时出现错误,主要集中在这一行代码中:res = requests.get(url,headers=headers).json()即为读取url中内容用json表示错误信息如下(用的jupyter notebook):Y:\Anaconda\envs\python36\lib\

2022-01-06 15:14:16 15709

原创 LC303. 区域和检索 - 数组不可变

题目给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点(也就是 sum(nums[i], nums[i + 1], ... , nums[j]))注:0 <= nums.length &lt

2022-01-03 22:36:11 281

原创 LC496. 下一个更大元素 I

题目给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。进阶:你可以设计一个时间复杂度为 O(nums1.length + nums2.length) 的解决方案吗?思路这道题暴力可以求解,但是对进阶的低时间复杂度要求,做出以下思路:注

2021-10-27 10:34:01 83

原创 LC638. 大礼包

题目在 LeetCode 商店中, 有 n 件在售的物品。每件物品都有对应的价格。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。给你一个整数数组 price 表示物品价格,其中 price[i] 是第 i 件物品的价格。另有一个整数数组 needs 表示购物清单,其中 needs[i] 是需要购买第 i 件物品的数量。还有一个数组 special 表示大礼包,special[i] 的长度为 n + 1 ,其中 special[i][j] 表示第 i 个大礼包中内含第 j 件物品的数量,

2021-10-24 20:51:38 204

原创 LC453. 最小操作次数使数组元素相等

题目给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。n == nums.length1 <= nums.length <= 105-109 <= nums[i] <= 109答案保证符合 32-bit 整数思路反向思考把所有数加到相同值==把所有数减到相同值代码class Solution {public: int minMoves(vector<int>& num

2021-10-20 12:21:43 151

原创 LC211. 添加与搜索单词 - 数据结构设计

题目请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。实现词典类 WordDictionary :WordDictionary() 初始化词典对象void addWord(word) 将 word 添加到数据结构中,之后可以对它进行匹配bool search(word) 如果数据结构中存在字符串与 word 匹配,则返回 true ;否则,返回 false 。word 中可能包含一些 '.' ,每个 . 都可以表示任何一个字母。1 <= word.

2021-10-19 21:33:29 126

原创 LC282. 给表达式添加运算符

题目给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)+、- 或 * ,返回所有能够得到目标值的表达式。1 <= num.length <= 10num 仅含数字-2^31 <= target <= 2^31 - 1思路首先根据题目要求,可以发现,加入运算符的位置和类型是随机的,也就是说运算的数字可以是一位的, 也可以是很多位的。对于如此多选择的情况,没有规律可循,需要采用递归枚举采

2021-10-18 18:19:23 165

YOLOx目标检测论文

YOLOx目标检测论文

2021-09-25

空空如也

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

TA关注的人

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