运筹帷幄
文章平均质量分 66
团子大圆帅
【公众号】团子大圆帅
展开
-
力扣 1482. 制作 m 束花所需的最少天数
题目描述给你一个整数数组 bloomDay,以及两个整数 m 和 k。现需要制作 m 束花。制作花束时,需要使用花园中**相邻的 k 朵花 **。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好可以用于一束花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1。示例 1:输入:bloomDay = [1,10,3,10,2], m = 3, k = 1输出:3解释:让我们一起观察这三天的花开过程,x 表示花开,而 _ 表示花还未.原创 2021-05-09 17:31:22 · 353 阅读 · 2 评论 -
力扣 740. 删除并获得点数
题目描述给你一个整数数组 nums,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i],删除它并获得 nums[i] 的点数。之后,你必须删除每个等于 nums[i] - 1 或 nums[i] + 1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例 1:输入:nums = [3,4,2]输出:6解释:删除 4 获得 4 个点数,因此 3 也被删除。之后,删除 2 获得 2 个点数。总共获得 6 个点数。示例 2:输入:nums = [2,2.原创 2021-05-05 17:35:53 · 445 阅读 · 2 评论 -
力扣 554. 砖墙
554. 砖墙题目描述你的面前有一堵矩形的、由 n 行砖块组成的砖墙。这些砖块高度相同(也就是一个单位高)但是宽度不同。每一行砖块的宽度之和应该相等。你现在要画一条自顶向下的、穿过最少砖块的垂线。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。给你一个二维数组 wall,该数组包含这堵墙的相关信息。其中,wall[i] 是一个代表从左至右每块砖的宽度的数组。你需要找出怎样画才能使这条线穿过的砖块数量最少 ,并且返回穿过的砖块数量。原创 2021-05-02 09:23:17 · 344 阅读 · 3 评论 -
力扣 690. 员工的重要性
题目描述给定一个保存员工信息的数据结构,它包含了员工唯一的 id,重要度和直系下属的 id。比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15, 10, 5。那么员工 1 的数据结构是 [1, 15, [2]],员工 2 的数据结构是 [2, 10, [3]],员工 3 的数据结构是 [3, 5, []]。注意虽然员工 3 也是员工 1 的一个下属,但是由于并不是直系下属,因此没有体现在员工 1 的数据结构中。现在输入一个公司的所有员工信息,以及单个员工 id.原创 2021-05-01 12:46:29 · 196 阅读 · 0 评论 -
力扣 354. 俄罗斯套娃信封问题
题目描述给你一个二维整数数组 envelopes,其中 envelopes[i] = [wi, hi],表示第 i 个信封的宽度和高度。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。注意:不允许旋转信封。示例 1:输入:envelopes = [[5,4],[6,4],[6,7],[2,3]]输出:3解释:最多信封的个数为 3, 组合为: [2,3.原创 2021-04-04 11:23:08 · 234 阅读 · 1 评论 -
力扣 300. 最长递增子序列
题目描述给你一个整数数组 nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4示例 3:输入:nums = [7,7,7,7.原创 2021-04-04 11:21:49 · 242 阅读 · 0 评论 -
力扣 649. Dota2 参议院
题目描述Dota2 的世界里有两个阵营:Radiant(天辉)和 Dire(夜魇)Dota2 参议院由来自两派的参议员组成。现在参议院希望对一个 Dota2 游戏里的改变作出决定。他们以一个基于轮为过程的投票进行。在每一轮中,每一位参议员都可以行使两项权利中的一项:禁止一名参议员的权利:参议员可以让另一位参议员在这一轮和随后的几轮中丧失所有的权利。宣布胜利:如果参议员发现有权利投票的参议员都是同一个阵营的,他可以宣布胜利并决定在游戏中的有关变化。给定一个字符串代表每个参议员的阵营.原创 2020-12-11 15:42:59 · 235 阅读 · 0 评论 -
力扣 62. 不同路径
题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向右 -> 向下2. 向右 -> 向下 -> 向右3. 向.原创 2020-12-09 11:58:56 · 274 阅读 · 0 评论 -
力扣 842. 将数组拆分成斐波那契序列
842. 将数组拆分成斐波那契序列题目描述给定一个数字字符串 S,比如 S = "123456579",我们可以将它分成斐波那契式的序列 [123, 456, 579]。形式上,斐波那契式序列是一个非负整数列表 F,且满足:0 <= F[i] <= 2^31 - 1,(也就是说,每个整数都符合 32 位有符号整数类型);F.length >= 3;对于所有的 0 <= i < F.length - 2,都有 F[i] + F[i+1] = F[i+2] 成立。原创 2020-12-08 11:06:04 · 239 阅读 · 0 评论 -
力扣 861. 翻转矩阵后的得分
861. 翻转矩阵后的得分题目描述有一个二维矩阵 A 其中每个元素的值为 0 或 1 。移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。返回尽可能高的分数。示例:输入:[[0,0,1,1],[1,0,1,0],[1,1,0,0]]输出:39解释:转换为 [[1,1,1,1],[1,0,0,1],[1,1,1,1]]0b1111 + 0b1原创 2020-12-07 11:09:11 · 257 阅读 · 1 评论 -
力扣 118. 杨辉三角
题目描述给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/pascals-triangle著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。迭代.原创 2020-12-06 11:55:37 · 199 阅读 · 1 评论 -
力扣 621. 任务调度器
题目描述给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。在任何一个单位时间,CPU 可以完成一个任务,或者处于待命状态。然而,两个相同种类的任务之间必须有长度为整数 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。你需要计算完成所有任务所需要的最短时间。示例 1:输入:tasks = ["A","A","A","B","B","B原创 2020-12-05 16:42:27 · 365 阅读 · 0 评论 -
anagram 变位词题目一则
anagram 变位词题目一则1. 题目Given an array of strings, return an array of strings that groups all anagrams.An anagram is a word that has the same letters, but in different positions.i.e. given [&amp;quot;cars&amp;quot;, ...原创 2018-12-18 12:50:40 · 597 阅读 · 0 评论