接雨水(4.4 leetcode每日打卡)】的更多相关文章

LCP 19.秋叶收藏集 题目链接 算法 动态规划 时间复杂度O(n) 1.题目要求最终形成[红.黄.红]三部分,每部分数量可以不相等,问最终调整操作数量最小是多少.这道题一开始考虑暴力去做,枚举两个分界点,即红黄,黄红之间的分界点的位置,但由于长度是1e5,时间复杂度为O(n^2)级别,故此法作废. 2.通过查看官方题解,了解到这道题可以使用动态规划去做,可以将时间复杂度优化到O(n)级别,为方便查阅复习,现结合自己的理解写下该题解.具体如下: 可以定义一个数组f[i][j],表示符合要求的最…
[python]Leetcode每日一题-直方图的水量(接雨水) [题目描述] 给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水). 感谢 Marcos 贡献此图. 示例1: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6 [分析] 思路 填满水坑的图像是左右非完全单调递增的,由此可以…
近 2000 人已经加入共同刷题啦! 群友每天都会在群里给大家讲解算法题 每周日「负雪明烛」组织直播讲题 我相信来看我博客的大部分人都是通过LeetCode刷题过来的.最近发现LeetCode中文网站出了「每日一题」的活动,出于自己的折腾心理,我准备建群组织大家共同刷题. 在这个链接可以看到LeetCode的官方活动地址:https://leetcode-cn.com/circle/article/9EZfRE/ LeetCode的官方活动虽然每天更新题目,但是大家还是只能凭自制力去做题.由于缺…
[js]Leetcode每日一题-制作m束花所需的最少天数 [题目描述] 给你一个整数数组 bloomDay,以及两个整数 m 和 k . 现需要制作 m 束花.制作花束时,需要使用花园中 相邻的 k 朵花 . 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中. 请你返回从花园中摘 m 束花需要等待的最少的天数.如果不能摘到 m 束花则返回 -1 . 示例1: 输入:bloomDay = [1,10,3,10,2], m = 3, k = 1 输出…
[JavaScript]Leetcode每日一题-在D天内送包裹的能力 [题目描述] 传送带上的包裹必须在 D 天内从一个港口运送到另一个港口. 传送带上的第 i 个包裹的重量为 weights[i].每一天,我们都会按给出重量的顺序往传送带上装载包裹.我们装载的重量不会超过船的最大运载重量. 返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力. 示例1: 输入:weights = [1,2,3,4,5,6,7,8,9,10], D = 5 输出:15 解释: 船舶最低载重 15 就能…
[js]Leetcode每日一题-完成所有工作的最短时间 [题目描述] 给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间. 请你将这些工作分配给 k 位工人.所有工作都应该分配给工人,且每项工作只能分配给一位工人.工人的 工作时间 是完成分配给他们的所有工作花费时间的总和.请你设计一套最佳的工作分配方案,使工人的 最大工作时间 得以 最小化 . 返回分配方案中尽可能 最小 的 最大工作时间 . 示例1: 输入:jobs = [3,2,3], k = 3 输出:…
[js]Leetcode每日一题-数组异或操作 [题目描述] 给你两个整数,n 和 start . 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length . 请返回 nums 中所有元素按位异或(XOR)后得到的结果. 示例1: 输入:n = 5, start = 0 输出:8 解释:数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8 . "^" 为按位异或 XO…
[js]Leetcode每日一题-解码异或后数组 [题目描述] 未知 整数数组 arr 由 n 个非负整数组成. 经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] .例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] . 给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr[0]). 请解码返回原数组 arr .可以证明答案存在并且是唯…
[JavaScript]Leetcode每日一题-青蛙过河 [题目描述] 一只青蛙想要过河. 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有). 青蛙可以跳上石子,但是不可以跳入水中. 给你石子的位置列表 stones(用单元格序号 升序 表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一块石子上). 开始时, 青蛙默认已站在第一块石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格 1 跳至单元格 2 ). 如果青蛙上一步跳跃了 k 个单位…
[JavaScript]Leetcode每日一题-平方数之和 [题目描述] 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c . 示例1: 输入:c = 5 输出:true 解释:1 * 1 + 2 * 2 = 5 示例2: 输入:c = 3 输出:false 示例3: 输入:c = 4 输出:true 示例4: 输入:c = 2 输出:true 示例5: 输入:c = 1 输出:true 提示: 0 <= c <= 231 - 1 [分析] 暴力 暴…