2K+ 阅读量
假设我们有两个值 hours 和 minutes。我们必须找到时针和分针之间形成的较小角度。所以,如果输入像 hour = 12 minutes = 45,那么输出将是 112.5为了解决这个问题,我们将遵循以下步骤:如果 h = 12,则设置 h := 0如果 m = 60,则设置 m := 0hAngle := 0.5 * (60h) + mmAngle := 6mret := |hAngle - mAngle|返回 ret 和 (360 – ret) 的最小值让我们看看以下实现,以便更好地理解:示例实时演示#include using namespace std; class Solution { public: ... 阅读更多
190 阅读量
假设我们有一系列以 [start, end] 形式表示的区间,这表示课程的开始和结束时间。我们必须找到可以上的最大课程数,假设我们一次只能上一门课程,并且课程的开始必须晚于上一门课程的结束。所以,如果输入像 times = [[3, 6], [6, 9], [7, 8], [9, 11]],那么输出将是 3,因为我们可以上课程 [[3, 6], [7, 8], [9, 11]]为了解决这个问题,我们将遵循以下步骤: ... 阅读更多
170 阅读量
假设我们有一系列盒子,这里每个条目有两个值 [start, end] (start < end)。如果一个盒子的结束等于另一个盒子的开始,我们可以将这两个盒子连接起来。我们必须找到最长盒子链的长度。所以,如果输入像 blocks = [ [4, 5], [5, 6], [4, 8], [1, 2], [2, 4] ],那么输出将是 4,因为我们可以形成链: [1, 2], [2, 4], [4, 5], [5, 6]为了解决这个问题,我们将遵循以下步骤:如果盒子为空,则返回 0对列表进行排序 ... 阅读更多
141 阅读量
假设我们有一系列数字,称为 candies,有人正在与他的/她的朋友玩游戏。在每一轮中,玩家可以移除任何两个值相同的连续糖果。无法再拾取糖果的人输掉游戏,并且玩家 1 先开始,我们必须检查玩家 1 是否会获胜。所以,如果输入像 nums = [2, 2, 5],那么输出将是 True,因为如果玩家 1 拾取 2,那么另一名玩家将无法拾取任何糖果。为了解决这个问题,我们将遵循以下步骤:stack := 新栈turns := 0对于 ... 阅读更多
754 阅读量
假设我们有一个字符串 s,其中包含一个带有运算符“and”和“or”的布尔表达式,请对其进行计算并返回结果。这里的表达式可能包含括号,应首先对其进行计算。所以,如果输入像 s = "T and (F or T)",那么输出将是 True为了解决这个问题,我们将遵循以下步骤:stack := 新列表t = 字符串 s 中由空格分隔的元素列表对于 t 中的每个 v,执行以下操作:如果 v[0] 与“(" 相同,则将 v[从 "(" 的索引到末尾] 与 "T" 相同时的 true 推入栈中否则,当找到 ")" 时, ... 阅读更多
828 阅读量
假设我们有一系列排序后的数字,称为 days,我们必须在每一天乘坐公交车。我们必须找到旅行所有天数所需的最低成本。有 3 种类型的公交车票。1 日票 2 美元7 日票 7 美元30 日票 25 美元所以,如果输入像 days = [1, 3, 5, 6, 28],那么输出将是 9,因为最低成本可以通过在开始时购买 7 日票,然后在第 29 天购买 1 日票来实现。为了解决 ... 阅读更多
354 阅读量
假设我们有两个数字列表 L1 和 L2,每个列表的长度为 n,每个值对其列表都是唯一的,并且值在 1 到 n 的范围内,我们必须找到将 L1 转换为 L2 所需的最小相邻交换次数。所以,如果输入像 L1 = [0, 1, 2, 3] L2 = [2, 0, 1, 3],那么输出将是 2,因为我们可以交换 1 和 2,L1 将变为 [0, 2, 1, 3],然后交换 0 和 2,L1 将变为 [2, 0, 1, 3],这是 ... 阅读更多
132 阅读量
假设我们有一系列按时间顺序排列的公司股票价格,并且还有一种交易的手续费。我们必须找到我们可以从无限次买卖该股票中获得的最大利润。在卖出之前,我们必须先买入。所以,如果输入像 prices = [2, 10, 4, 8] fee = 3,那么输出将是 6,因为我们可以在 2 买入并在 10 卖出,并支付 3 的手续费,所以利润是 5。然后我们在 4 买入并在 ... 阅读更多
386 阅读量
假设我们有一个 2D 矩阵,其中包含三个不同的值,2、1 和 0,其中 2 表示敌人,1 表示墙壁,0 表示空单元格。我们必须找到使用一枚炸弹可以杀死的最大敌人数量。炸弹会杀死从种植点开始的同一行和同一列中的所有敌人,直到碰到墙壁。我们只能在空白处放置炸弹。所以,如果输入像那么输出将是 3,因为我们可以在绿色方块处放置炸弹以杀死最多 3 个敌人。ret := 0n ... 阅读更多
153 阅读量
假设我们有一个二维二进制矩阵,其中 1 表示炸弹,0 表示空单元格。当炸弹爆炸时,同一行和同一列的所有空间都会受到损坏。我们必须找到我们可以站在其中而不会受到损坏的空间数量。所以,如果输入像110000000那么输出将是 2,因为右下角单元格和中间右单元格有两个安全空间。为了解决这个问题,我们将遵循以下步骤:r := 大小与矩阵行数相同的列表,并填充 falsec := a ... 阅读更多