贪心
文章平均质量分 66
ZhangyiA*
菜鸟学刷题
展开
-
NC:切长条
题目描述给定如图所示的若干个长条。你可以在某一行的任意两个数之间作一条竖线,从而把这个长条切开,并可能切开其他长条。问至少要切几刀才能把每一根长条都切开。样例如图需要切两刀。注意:输入文件每行的第一个数表示开始的位置,而第二个数表示长度。输入72 44 73 35 39 41 57 3输出2题目分析首先通过起始位置和长条长度,得到长条的结束位置,然后先根据长条的结束位置进行升序排序,如果结束位置相同时,根据起始位置升序排序,根据贪心的想法,如果两个长条重叠,更新结束位置,原创 2020-12-09 21:27:48 · 156 阅读 · 0 评论 -
力扣区间题目:重叠、合并、插入、删除区间
一、汇总区间题目描述: 给定一个 无重复 元素的 有序 整数数组 nums 。返回恰好覆盖数组中所有数字的最小有序区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [ a , b ] 应该按如下格式输出:(1)、“a->b” ,如果 a != b (2)、 “a” ,如果 a == b力扣:228. 汇总区间输入:nums = [ 0 , 1 , 2 , 4 , 5 , 7 ]输出:原创 2020-12-09 19:58:59 · 826 阅读 · 0 评论 -
腾讯笔试:荣耀积分
题目描述游戏俱乐部 , 有 n 个小游戏 , 其中第 i 个小游戏必须在 ti 时刻内完成 (假设玩家进入俱乐部时间为 0 时刻 , 开始游玩某一游戏只需要一个单位时间即可完成 ) 否则, 就会扣除 wi 点荣耀积分。每天俱乐部都会向最优顺序选择者授予纪念勋章 , 所谓的最有顺序,即为:最终扣除的荣耀积分最少的玩家 。输入描述:T (1 <= T <= 1000) 组测试数据 ,每组第一行输入一个整数 n (1 <= n <= 1000) ,代表游戏数目第二行输入 n原创 2021-05-06 20:52:34 · 245 阅读 · 0 评论 -
力扣:反转矩阵后的得分
题目描述有一个二维矩阵 A 其中每个元素的值为 0 或 1 。移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。返回尽可能高的分数。力扣:861. 翻转矩阵后的得分输入:[[0, 0 , 1 , 1] , [1 , 0 , 1 , 0] , [1 , 1 , 0 , 0]]输出:39解释:转换为 [[1 , 1 , 1 , 1] , [1 ,原创 2021-01-14 21:57:37 · 123 阅读 · 0 评论 -
力扣:修改后的最大二进制字符串
题目描述给你一个二进制字符串 binary ,它仅有 0 或者 1 组成。你可以使用下面的操作任意次对它进行修改:操作 1 :如果二进制串包含子字符串 “00” ,你可以用 “10” 将其替换。比方说, “00010” -> “10010”操作 2 :如果二进制串包含子字符串 “10” ,你可以用 “01” 将其替换。比方说, “00010” -> “00001”请你返回执行上述操作任意次以后能得到的 最大二进制字符串 。如果二进制字符串 x 对应的十进制数字大于二进制字符串原创 2021-01-06 16:18:02 · 599 阅读 · 0 评论 -
力扣:最大的团队表现值
题目描述公司有编号为 1 到 n 的 n 个工程师,给你两个数组 speed 和 efficiency ,其中 speed[i] 和 efficiency[i] 分别代表第 i 位工程师的速度和效率。请你返回由最多 k 个工程师组成的 最大团队表现值 ,由于答案可能很大,请你返回结果对 10^9 + 7 取余后的结果。团队表现值的定义为:一个团队中「所有工程师速度的和」乘以他们「效率值中的最小值」。力扣:1383. 最大的团队表现值输入:n = 6 , speed = [2 , 10原创 2021-01-02 18:09:31 · 328 阅读 · 0 评论 -
力扣:K 次操作转变字符串
题目描述给你两个字符串 s 和 t ,你的目标是在 k 次操作以内把字符串 s 转变成 t 。在 第 i 次操作时(1 <= i <= k),你可以选择进行如下操作:选择字符串 s 中满足 1 <= j <= s.length 且之前未被选过的任意下标 j (下标从 1 开始),并 将此位置的字符切换 i 次 。不进行任何操作。切换 1 次字符的意思是用字母表中该字母的下一个字母替换它(字母表环状接起来,所以 ‘z’ 切换后会变成 ‘a’)。请记住任意一个下标原创 2021-01-01 22:27:51 · 475 阅读 · 0 评论 -
力扣:检查数组对是否可以被 k 整除
题目描述给你一个整数数组 arr 和一个整数 k ,其中数组长度是偶数,值为 n 。现在需要把数组恰好分成 n / 2 对,以使每对数字的和都能够被 k 整除。如果存在这样的分法,请返回 True ;否则,返回 False 。力扣:1497. 检查数组对是否可以被k整除示例 1输入:arr = [1,2,3,4,5,10,6,7,8,9], k = 5输出:true解释:划分后的数字对为 (1,9),(2,8),(3,7),(4,6) 以及 (5,10) 。示例 2输入:arr =原创 2021-01-01 15:22:30 · 352 阅读 · 1 评论 -
力扣:加油站
题目描述在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i + 1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:1、如果题目有解,该答案即为唯一答案。2、输入数组均为非空数组,且长度相同。3、输入数组中的元素均为非负数。力扣:134. 加油站输入:gas = [1 , 2 , 3 , 4原创 2021-01-01 14:37:31 · 193 阅读 · 0 评论 -
力扣:划分字符区间
题目描述字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。力扣:763.划分字符区间输入:S = “ababcbacadefegdehijhklij”输出:[9 , 7 , 8]解释:划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。像 “ababcbacadefegde”, “hijhklij” 的划分是错误的,因为划分的片段数较少题原创 2020-12-20 20:00:22 · 140 阅读 · 0 评论 -
力扣:安排电影院座位
题目描述如下图所示,电影院的观影厅中有 n 行座位,行编号从 1 到 n ,且每一行内总共有 10 个座位,列编号从 1 到 10 。给你数组 reservedSeats ,包含所有已经被预约了的座位。比如说,researvedSeats[i]=[3,8] ,它表示第 3 行第 8 个座位被预约了。请你返回 最多能安排多少个 4 人家庭 。4 人家庭要占据 同一行内连续 的 4 个座位。隔着过道的座位(比方说 [3,3] 和 [3,4])不是连续的座位,但是如果你可以将 4 人家庭拆成过道两边各坐转载 2020-12-15 21:00:53 · 2626 阅读 · 1 评论 -
力扣:单调递增的数字
题目描述给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)力扣:738.单调递增的数字示例 1:输入: N = 10输出: 9示例 2:输入: N = 332输出: 299题目分析输入给定的是整数,可先将其转换为字符数组方便计算,既然要尽可能的大,那么从前向后遍历,找到第一个满足 str[i] > str[i+1]原创 2020-12-15 14:28:02 · 208 阅读 · 0 评论 -
NC:「土」巨石滚滚
题目描述帕秋莉掌握了一种土属性魔法她使用这种魔法建造了一个大型的土球,并让其一路向下去冲撞障碍土球有一个稳定性x,如果x < 0,它会立刻散架每冲撞一个障碍,土球会丧失ai的稳定性,冲撞之后,又会从障碍身上回馈bi的稳定性帕秋莉想知道,如果合理的安排障碍的顺序,在保证土球不散架的情况下,是否可以将障碍全部撞毁呢?NC:「土」巨石滚滚 输入描述:输入一个整数T,代表T组数据,每组数据中:前一行两个整数n , m,表示障碍个数和土球的稳定性接下来一行两个整数,分别表示障碍的ai和b原创 2020-12-09 20:48:09 · 153 阅读 · 0 评论 -
力扣:根据身高重建队列
题目描述 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。 力扣:406. 根据身高重建队列输入:原创 2020-12-09 14:08:39 · 240 阅读 · 0 评论 -
力扣:种花问题
题目描述 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给定一个花坛(表示为一个数组包含 0 和 1 ,其中 0 表示没种植花,1 表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回 True,不能则返回 False力扣:605. 种花问题输入: flowerbed = [1 , 0 , 0 , 0 , 1] , n = 1 (n = 2)输出: True (false)原创 2020-12-09 11:21:46 · 330 阅读 · 0 评论