
动规
文章平均质量分 66
wy_43431863
这个作者很懒,什么都没留下…
展开
-
力扣134. 加油站(JAVA)
134. 加油站难度中等807在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。示例 1:输入: gas = [1,2,3,4,5]cos原创 2022-01-04 13:41:44 · 294 阅读 · 0 评论 -
力扣55跳跃游戏I(中等)JAVA
力扣题解55. 跳跃游戏难度中等1563给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长原创 2022-01-04 10:27:52 · 163 阅读 · 0 评论 -
力扣45跳跃游戏II(难)JAVA
力扣题解给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。示例 2:输入: nums = [2,3,0,1,4]输出: 2原创 2022-01-04 10:26:30 · 2285 阅读 · 0 评论 -
力扣1024视频拼接
1、1024. 视频拼接来源力扣解析:1024力扣题解难度中等261你将会获得一系列视频片段,这些片段来自于一项持续时长为 time 秒的体育赛事。这些片段可能有所重叠,也可能长度不一。使用数组 clips 描述所有的视频片段,其中 clips[i] = [starti, endi] 表示:某个视频片段开始于 starti 并于 endi 结束。甚至可以对这些片段自由地再剪辑:例如,片段 [0, 7] 可以剪切成 [0, 1] + [1, 3] + [3, 7] 三部分。我们需要将这些片段原创 2022-01-04 09:43:20 · 2187 阅读 · 0 评论 -
887. 鸡蛋掉落
力扣地址动态规划+二分查找 首先我们根据dp(K, N)数组的定义(有K个鸡蛋面对N层楼,最少需要扔 dp(K, N) 次),很容易知道K固定时,这个函数随着N的增加一定是单调递增的,无论你策略多聪明,楼层增加的话,测试次数一定要增加。 注意dp(K - 1, i - 1)和dp(K, N - i)这两个函数,其中i是从 1 到N单增的,如果我们固定K和N,把这两个函数看做关于i的函数,前者随着i的增加应该也是单调递增的,而后者随着i的增加应该是单调递减的:求二者的较大值,再求这些最大值之原创 2021-12-24 11:31:53 · 218 阅读 · 0 评论 -
力扣1884. 鸡蛋掉落-两枚鸡蛋
1884. 鸡蛋掉落-两枚鸡蛋难度中等28给你 2 枚相同 的鸡蛋,和一栋从第 1 层到第 n 层共有 n 层楼的建筑。已知存在楼层 f ,满足 0 <= f <= n ,任何从 高于 f 的楼层落下的鸡蛋都 会碎 ,从 f 楼层或比它低 的楼层落下的鸡蛋都 不会碎 。每次操作,你可以取一枚 没有碎 的鸡蛋并把它从任一楼层 x 扔下(满足 1 <= x <= n)。如果鸡蛋碎了,你就不能再次使用它。如果某枚鸡蛋扔下后没有摔碎,则可以在之后的操作中 重复使用 这枚鸡蛋。请你原创 2021-12-24 10:42:33 · 575 阅读 · 0 评论 -
力扣787. K 站中转内最便宜的航班
有 n 个城市通过一些航班连接。给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,以价格 pricei 抵达 toi。现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到出一条最多经过 k 站中转的路线,使得从 src 到 dst 的 价格最便宜 ,并返回该价格。 如果不存在这样的路线,则输出 -1。787. K 站中转内最便宜的航班难度中等430有 n 个城市通过一些航班连接原创 2021-12-22 12:41:58 · 461 阅读 · 0 评论 -
力扣514. 自由之路
力扣原文力扣题解514. 自由之路难度困难221电子游戏“辐射4”中,任务“通向自由”要求玩家到达名为“Freedom Trail Ring”的金属表盘,并使用表盘拼写特定关键词才能开门。给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串 key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。最初,ring 的第一个字符与12:00方向对齐。您需要顺时针或逆时针旋转 ring 以使 key 的一个字符在 12:00 方向对齐,然后按下中心按钮,以此逐个拼写完原创 2021-12-22 10:08:44 · 234 阅读 · 0 评论 -
力扣174
174. 地下城游戏力扣题解:添加链接描述难度困难555一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为 0),要么包含增加骑士健原创 2021-12-20 11:29:06 · 154 阅读 · 0 评论 -
力扣64-动态规划解法
给定一个包含非负整数的 *m* x *n* 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。**说明:**每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。示例 2:输入:grid = [[1,2,3],[4,5,6]]输出:12解析:我们想计算从起点D到达B的最小路径和,那你说怎么才能到达B呢?题目说了只能向右或者向下走,所以只原创 2021-12-20 10:03:27 · 156 阅读 · 0 评论