贪心算法
今天又是快乐的一天
不可能再学java了的
展开
-
2019省赛真题详解
组队 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容。 每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少? 这题手算即可,但是还是给出代码运算也行 两种解决方法 1.暴力破解法,直接嵌套5层for循环 2.贪心算法,每次选择当前位最高的人,保存总和,三次for循环,以不同位置起手结果不同,所以首层遍历5次位置,二层选出其他号位号位的最高成绩,3层选出本号位最高的选手. 不同的子串 一个字符串的原创 2020-08-29 17:26:15 · 772 阅读 · 0 评论 -
比较大小406. 根据身高重建队列
406. 根据身高重建队列 假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。 注意: 总人数少于1100人。 输入: [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]] 输出: [[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]] 先比较总的身高大小,按照身高从大到小进行排序,因为k的值是按照前面是否有k个人高于或等于原创 2020-08-27 19:51:24 · 211 阅读 · 0 评论 -
贪心-881. 救生艇
第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 输入:people = [1,2], limit = 3 输出:1 解释:1 艘船载 (1, 2) 输入:people = [3,2,2,1], limit = 3 输出:3 解释:3 艘船分别载 (1, 2), (2) 和 (3) 输入:people = [3,2,2,1], limit =原创 2020-08-26 23:40:38 · 173 阅读 · 0 评论 -
1403. 非递增顺序的最小子序列-贪心算法
内容 给你一个数组 nums,请你从中抽取一个子序列,满足该子序列的元素之和 严格 大于未包含在该子序列中的各元素之和。 如果存在多个解决方案,只需返回 长度最小 的子序列。如果仍然有多个解决方案,则返回 元素之和最大 的子序列。 与子数组不同的地方在于,「数组的子序列」不强调元素在原数组中的连续性,也就是说,它可以通过从数组中分离一些(也可能不分离)元素得到。 注意,题目数据保证满足所有约束条件的解决方案是 唯一 的。同时,返回的答案应当按 非递增顺序 排列。 此题目是从子序列中抽取最大的数字,而不是从给原创 2020-08-25 19:16:40 · 232 阅读 · 0 评论 -
1217. 玩筹码
数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。 你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以): 将第 i 个筹码向左或者右移动 2 个单位,代价为 0。 将第 i 个筹码向左或者右移动 1 个单位,代价为 1。 最开始的时候,同一位置上也可能放着两个或者更多的筹码。 返回将所有筹码移动到同一位置(任意位置)上所需要的最小代价。 输入:chips = [2,2,2,3,3] 输出:2 解释:第四和第五个筹码移动到位置二的代价都是 1, 所以最小总代价为 2。 输原创 2020-08-25 18:20:01 · 135 阅读 · 0 评论