![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
OJ练习
文章平均质量分 54
#力扣刷题
盖盖的博客
众生皆苦,我是草莓味儿的。
展开
-
OJ练习第190题——坐标移动
开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。原创 2024-04-05 21:55:04 · 559 阅读 · 0 评论 -
OJ练习第189题——除法求值
给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。另有一些以数组 queries 表示的问题,其中 queries[j] = [Cj, Dj] 表示第 j 个问题,请你根据已知条件找出 Cj / Dj = ? 的结果作为答案。返回 所有问题的答案 。如果存在某个无法确定的答案,则用原创 2024-03-23 11:19:35 · 480 阅读 · 0 评论 -
OJ练习第188题——队列中可以看到的人数
有 n 个人排成一个队列,从左到右 编号为 0 到 n - 1 。给你以一个整数数组 heights ,每个整数 互不相同,heights[i] 表示第 i 个人的高度。一个人能 看到 他右边另一个人的条件是这两人之间的所有人都比他们两人 矮 。更正式的,第 i 个人能看到第 j 个人的条件是 i < j 且 min(heights[i], heights[j]) > max(heights[i+1], heights[i+2], ..., heights[j-1]) 。请你返回一个长度为 n 的数原创 2024-01-05 13:36:08 · 408 阅读 · 0 评论 -
OJ练习第187题——被列覆盖的最多行数
给你一个下标从 0 开始、大小为 m x n 的二进制矩阵 matrix ;另给你一个整数 numSelect,表示你必须从 matrix 中选择的 不同 列的数量。如果一行中所有的 1 都被你选中的列所覆盖,则认为这一行被 覆盖 了。形式上,假设 s = {c1, c2, ...., cnumSelect} 是你选择的列的集合。对于矩阵中的某一行 row ,如果满足下述条件,则认为这一行被集合 s 覆盖。原创 2024-01-04 12:38:08 · 376 阅读 · 0 评论 -
OJ练习第186题——统计子串中的唯一字符
本题将会给你一个字符串 s ,我们需要返回 countUniqueChars(t) 的总和,其中 t 是 s 的子字符串。输入用例保证返回值为 32 位整数。原创 2023-11-27 19:09:52 · 141 阅读 · 0 评论 -
OJ练习第185题——数组中两个数的最大异或值
数组中两个数的最大异或值原创 2023-11-04 19:35:11 · 148 阅读 · 0 评论 -
OJ练习第184题——天际线问题
城市的 天际线 是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度,请返回 由这些建筑物形成的 天际线 。原创 2023-10-26 10:49:29 · 94 阅读 · 0 评论 -
OJ练习第183题——移动机器人
当两个机器人相撞时,它们会沿着原本相反的方向移动。由于机器人之间并没有任何区别,相撞可以看做是穿透,原本左边的机器人相撞后交换为右边的机器人,原本右边的机器人相撞后交换为左边的机器人,这样一来,两个机器人仿佛没有相撞过。因此,我们可以无视相撞,独立计算每个机器人 d 秒后所处的位置。原创 2023-10-10 11:23:55 · 103 阅读 · 0 评论 -
OJ练习第182题——字典树(前缀树)
我们从字典树的根开始,插入字符串。对于当前字符对应的子节点,有两种情况:子节点存在。沿着指针移动到子节点,继续处理下一个字符。子节点不存在。创建一个新的子节点,记录在 children 数组的对应位置上,然后沿着指针移动到子节点,继续搜索下一个字符。重复以上步骤,直到处理字符串的最后一个字符,然后将当前节点标记为字符串的结尾。原创 2023-09-27 11:31:58 · 229 阅读 · 0 评论 -
OJ练习第181题——寻找两个正序数组的中位数
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。原创 2023-09-26 21:38:46 · 123 阅读 · 0 评论 -
OJ练习第180题——颠倒二进制位
颠倒给定的 32 位无符号整数的二进制位。原创 2023-09-23 11:51:17 · 207 阅读 · 0 评论 -
OJ练习第179题——买卖股票的最佳时机 IV
给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。原创 2023-09-22 11:14:21 · 89 阅读 · 0 评论 -
OJ练习第178题——收集树中金币
给你一个 n 个节点的无向无根树,节点编号从 0 到 n - 1 。给你整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间有一条边。再给你一个长度为 n 的数组 coins ,其中 coins[i] 可能为 0 也可能为 1 ,1 表示节点 i 处有一个金币。原创 2023-09-21 11:10:31 · 207 阅读 · 0 评论 -
OJ练习第177题——打家劫舍 IV(二分查找)
沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。由于相邻的房屋装有相互连通的防盗系统,所以小偷 不会窃取相邻的房屋 。小偷的 窃取能力 定义为他在窃取过程中能从单间房屋中窃取的 最大金额 。给你一个整数数组 nums 表示每间房屋存放的现金金额。形式上,从左起第 i 间房屋中放有 nums[i] 美元。另给你一个整数 k ,表示窃贼将会窃取的 最少 房屋数。小偷总能窃取至少 k 间房屋。返回小偷的 最小 窃取能力。原创 2023-09-19 10:49:41 · 141 阅读 · 0 评论 -
OJ练习第176题——第二高的薪水
查询并返回 Employee 表中第二高的薪水 。如果不存在第二高的薪水,查询应该返回 null(Pandas 则返回 None) 。查询结果如下例所示。原创 2023-09-18 11:20:34 · 87 阅读 · 0 评论 -
OJ练习第175题——打家劫舍 II
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。原创 2023-09-18 10:28:45 · 86 阅读 · 0 评论 -
OJ练习第174题——组合两个表
编写解决方案,报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为 null 。以 任意顺序 返回结果表。结果格式如下所示。原创 2023-09-16 15:28:03 · 114 阅读 · 0 评论 -
OJ练习第173题——单词接龙 II
按字典 wordList 完成从单词 beginWord 到单词 endWord 转化,一个表示此过程的 转换序列 是形式上像 beginWord -> s1 -> s2 -> ... -> sk 这样的单词序列,并满足:每对相邻的单词之间仅有单个字母不同。转换过程中的每个单词 si(1原创 2023-09-14 20:40:50 · 253 阅读 · 0 评论 -
OJ练习第172题——可以攻击国王的皇后
在一个 8x8 的棋盘上,放置着若干「黑皇后」和一个「白国王」。给定一个由整数坐标组成的数组 queens ,表示黑皇后的位置;以及一对坐标 king ,表示白国王的位置,返回所有可以攻击国王的皇后的坐标(任意顺序)。原创 2023-09-14 10:40:42 · 72 阅读 · 0 评论 -
OJ练习第171题——复制带随机指针的链表
给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。原创 2023-09-13 18:07:30 · 79 阅读 · 0 评论 -
OJ练习第170题——最大间距(桶算法)
给定一个无序的数组 nums,返回 数组在排序之后,相邻元素之间最大的差值 。如果数组元素个数小于 2,则返回 0 。原创 2023-09-12 15:47:55 · 159 阅读 · 0 评论 -
OJ练习第169题——课程表 IV
你总共需要上 numCourses 门课,课程编号依次为 0 到 numCourses-1 。你会得到一个数组 prerequisite ,其中 prerequisites[i] = [ai, bi] 表示如果你想选 bi 课程,你 必须 先选 ai 课程。原创 2023-09-12 13:50:36 · 158 阅读 · 0 评论 -
OJ练习第168题——课程表 III
这里有 n 门不同的在线课程,按从 1 到 n 编号。给你一个数组 courses ,其中 courses[i] = [durationi, lastDayi] 表示第 i 门课将会 持续 上 durationi 天课,并且必须在不晚于 lastDayi 的时候完成。原创 2023-09-11 10:04:51 · 87 阅读 · 0 评论 -
OJ练习第167题——单词接龙
字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> ... -> sk:每一对相邻的单词只差一个字母。 对于 1原创 2023-09-09 15:47:15 · 415 阅读 · 0 评论 -
OJ练习第166题——课程表(拓扑排序问题)
你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。原创 2023-09-09 10:38:24 · 136 阅读 · 0 评论 -
OJ练习第165题——修车的最少时间
给你一个整数数组 ranks ,表示一些机械工的 能力值 。ranksi 是第 i 位机械工的能力值。能力值为 r 的机械工可以在 r * n2 分钟内修好 n 辆车。同时给你一个整数 cars ,表示总共需要修理的汽车数目。请你返回修理所有汽车 最少 需要多少时间。原创 2023-09-07 20:19:15 · 368 阅读 · 0 评论 -
OJ练习第164题——具有所有最深节点的最小子树
给定一个根为 root 的二叉树,每个节点的深度是 该节点到根的最短距离 。返回包含原始树中所有 最深节点 的 最小子树 。如果一个节点在 整个树 的任意节点之间具有最大的深度,则该节点是 最深的 。一个节点的 子树 是该节点加上它的所有后代的集合。原创 2023-09-06 11:29:59 · 251 阅读 · 0 评论 -
OJ练习第163题——反转字符串中的单词
给你一个字符串 s ,请你反转字符串中 单词 的顺序。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。原创 2023-09-05 10:18:52 · 93 阅读 · 0 评论 -
OJ练习第162题——对链表进行插入排序
给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。插入排序 算法的步骤:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。原创 2023-09-04 15:47:07 · 85 阅读 · 0 评论 -
OJ练习第161题——序列化和反序列化二叉搜索树
序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。设计一个算法来序列化和反序列化 二叉搜索树 。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字符串反序列化为最初的二叉搜索树。原创 2023-09-04 15:10:34 · 83 阅读 · 0 评论 -
OJ练习第160题——LRU 缓存
请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。实现 LRUCache 类:LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。原创 2023-09-03 14:40:09 · 1021 阅读 · 0 评论 -
OJ练习第159题——消灭怪物的最大数量
你正在玩一款电子游戏,在游戏中你需要保护城市免受怪物侵袭。给你一个 下标从 0 开始 且长度为 n 的整数数组 dist ,其中 dist[i] 是第 i 个怪物与城市的 初始距离(单位:米)。怪物以 恒定 的速度走向城市。给你一个长度为 n 的整数数组 speed 表示每个怪物的速度,其中 speed[i] 是第 i 个怪物的速度(单位:米/分)。原创 2023-09-03 13:48:22 · 467 阅读 · 0 评论 -
OJ练习第158题——单词拆分 II
给定一个字符串 s 和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序 返回所有这些可能的句子。原创 2023-09-02 16:21:45 · 125 阅读 · 0 评论 -
OJ练习第157题——单词拆分
给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。原创 2023-09-01 16:17:39 · 149 阅读 · 0 评论 -
OJ练习第156题——带因子的二叉树
给出一个含有不重复整数元素的数组 arr ,每个整数 arr[i] 均大于 1。用这些整数来构建二叉树,每个整数可以使用任意次数。其中:每个非叶结点的值应等于它的两个子结点的值的乘积。满足条件的二叉树一共有多少个?答案可能很大,返回 对 109 + 7 取余 的结果。原创 2023-08-31 21:07:12 · 226 阅读 · 0 评论 -
OJ练习第155题——分发糖果
n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。原创 2023-08-20 20:13:58 · 150 阅读 · 0 评论 -
OJ练习第154题——到家的最少跳跃次数
有一只跳蚤的家在数轴上的位置 x 处。请你帮助它从位置 0 出发,到达它的家。跳蚤跳跃的规则如下:它可以 往前 跳恰好 a 个位置(即往右跳)。它可以 往后 跳恰好 b 个位置(即往左跳)。它不能 连续 往后跳 2 次。它不能跳到任何 forbidden 数组中的位置。跳蚤可以往前跳 超过 它的家的位置,但是它 不能跳到负整数 的位置。原创 2023-08-31 20:26:12 · 124 阅读 · 0 评论 -
OJ练习第153题——加油站
在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。原创 2023-08-19 19:47:20 · 137 阅读 · 0 评论 -
OJ练习第152题——分割回文串 II
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。返回符合要求的 最少分割次数 。原创 2023-08-19 19:10:36 · 193 阅读 · 0 评论 -
OJ练习第151题——克隆图
给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。原创 2023-08-18 20:45:42 · 144 阅读 · 0 评论