【贪心】
贪心
wdt_
即使上线也匆忙,新版本,愁断肠,orz...
展开
-
【贪心】B049_LC_得到目标数组的最少函数调用次数(先将奇数变偶数,再将偶数除以二)
给你一个与 nums 大小相同且初始值全为 0 的数组 arr ,请你调用以上函数得到整数数组 nums 。请你返回将 arr 变成 nums 的最少函数调用次数。答案保证在 32 位有符号整数以内。输入:nums = [1,5]输出:5解释:给第二个数加 1 :[0, 0] 变成 [0, 1] (1 次操作)。将所有数字乘以 2 :[0, 1] -> [0, 2] -> [0, 4] (2 次操作)。给两个数字都加 1 :[0, 4] -> [1, 4] -> [1.原创 2020-08-23 18:08:49 · 246 阅读 · 0 评论 -
【贪心】B048_LC_排布二进制网格的最少交换次数(从上往下统计代替行)
一、Problem给你一个 n x n 的二进制网格 grid,每一次操作中,你可以选择网格的 相邻两行 进行交换。一个符合要求的网格需要满足主对角线以上的格子全部都是 0 。请你返回使网格满足要求的最少操作次数,如果无法使网格符合要求,请你返回 -1输入:grid = [[0,0,1],[1,1,0],[1,0,0]]输出:3提示:n == grid.lengthn == grid[i].length1 <= n <= 200grid[i][j] 要么是 0 要么是 1原创 2020-08-02 22:51:53 · 150 阅读 · 0 评论 -
【贪心】B047_LC_翻转矩阵后的得分(根据第一列做打算)
一、Problem有一个二维矩阵 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 + 0b1001 + 0b1111 =原创 2020-07-20 09:56:38 · 158 阅读 · 0 评论 -
【贪心】B045_LC_不含 AAA 或 BBB 的字符串(先append多的)
一、Problem给定两个整数 A 和 B,返回任意字符串 S,要求满足:S 的长度为 A + B,且正好包含 A 个 ‘a’ 字母与 B 个 ‘b’ 字母;子串 ‘aaa’ 没有出现在 S 中;子串 ‘bbb’ 没有出现在 S 中。示例 1:输入:A = 1, B = 2输出:"abb"解释:"abb", "bab" 和 "bba" 都是正确答案。示例 2:输入:A = 4, B = 1输出:"aabaa"提示:0 <= A <= 1000 <= B &l原创 2020-07-07 20:56:02 · 217 阅读 · 0 评论 -
【贪心】A044_LC_最多 K 次交换相邻数位后得到的最小整数(暴力扫描最小的字符 / 线段树)
一、Problem给你一个字符串 num 和一个整数 k 。其中,num 表示一个很大的整数,字符串中的每个字符依次对应整数上的各个 数位 。你可以交换这个整数相邻数位的数字 最多 k 次。请你返回你能得到的最小整数,并以字符串形式返回。输入:num = "4321", k = 4输出:"1342"解释:4321 通过 4 次交换相邻数位得到最小整数的步骤如上图所示。提示:1 <= num.length <= 30000num 只包含 数字 且不含有 前导 0 。1 &l原创 2020-07-05 17:28:27 · 346 阅读 · 0 评论 -
【贪心】C043_LC_等价多米诺骨牌对的数量(消除差异)
一、ProblemGiven a list of dominoes, dominoes[i] = [a, b] is equivalent to dominoes[j] = [c, d] if and only if either (a==c and b==d), or (a==d and b==c) - that is, one domino can be rotated to be equal to another domino.Return the number of pairs (i, j) f原创 2020-06-25 10:11:05 · 225 阅读 · 0 评论 -
【贪心】B042_LC_避免洪水泛滥(next 数组 + PQ)
一、Problem你的国家有无数个湖泊,所有湖泊一开始都是空的。当第 n 个湖泊下雨的时候,如果第 n 个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水。你的目标是避免任意一个湖泊发生洪水。给你一个整数数组 rains ,其中:rains[i] > 0 表示第 i 天时,第 rains[i] 个湖泊会下雨。rains[i] == 0 表示第 i 天没有湖泊会下雨,你可以选择 一个 湖泊并 抽干 这个湖泊的水。请返回一个数组 ans ,满足:ans.length == rains原创 2020-06-21 18:28:41 · 355 阅读 · 0 评论 -
【贪心】B042_NK_考试成绩(计数 + 排序)
一、Problem现在你的班级刚刚参加了一个只有单选题的考试。班级一共n个学生,考试有m个问题。每个题目都有5个可选答案(A,B,C,D,E)。并且每个题目只有一个正确答案。每个题目的分数并不一样,第i个题目的分数用a[i]表示。如果题目没答对该题会获得0分。考试结束后,每个学生都记得自己的答案,但是他们还不知道正确答案是什么。如果非常乐观的考虑,他们班级最多可能得到多少分呢?输入描述:第一行包含2个正整数,n和m。(1 <= n, m <= 1000,n是班级中学生数量,m是题目的数量原创 2020-06-17 15:30:54 · 491 阅读 · 0 评论 -
【贪心】B041_LC_用户分组(map + 反向思维)
一、ProblemThere are n people whose IDs go from 0 to n - 1 and each person belongs exactly to one group. Given the array groupSizes of length n telling the group size each person belongs to, return the groups there are and the people’s IDs each group includ原创 2020-06-15 17:39:06 · 103 阅读 · 0 评论 -
【贪心】B040_LC_重构 2 行二进制矩阵(构造 + 规定顺序)
一、ProblemGiven the following details of a matrix with n columns and 2 rows :The matrix is a binary matrix, which means each element in the matrix can be 0 or 1.The sum of elements of the 0-th(upper) row is given as upper.The sum of elements of the 1-st原创 2020-06-12 20:40:29 · 156 阅读 · 0 评论 -
【贪心】B039_LC_划分数组为连续数字的集合 & 一手顺子(排序 + map)
一、ProblemGiven an array of integers nums and a positive integer k, find whether it’s possible to divide this array into sets of k consecutive numbersReturn True if its possible otherwise return False.Input: nums = [1,2,3,3,4,4,5,6], k = 4Output: trueE原创 2020-06-05 23:09:59 · 228 阅读 · 0 评论 -
【贪心】B038_LC_删除被覆盖区间(排序)
一、ProblemGiven a list of intervals, remove all intervals that are covered by another interval in the list. Interval [a,b) is covered by interval [c,d) if and only if c <= a and b <= d.After doing so, return the number of remaining intervals.Input:原创 2020-06-05 10:54:02 · 101 阅读 · 0 评论 -
【贪心】B037_LC_切割后面积最大的蛋糕(排序)
一、ProblemGiven a rectangular cake with height h and width w, and two arrays of integers horizontalCuts and verticalCuts where horizontalCuts[i] is the distance from the top of the rectangular cake to the ith horizontal cut and similarly, verticalCuts[j] i原创 2020-05-31 12:01:55 · 298 阅读 · 0 评论 -
【贪心】B036_LC_最多可以参加的会议数目(排序 / pq)
一、ProblemGiven an array of events where events[i] = [startDayi, endDayi]. Every event i starts at startDayi and ends at endDayi.You can attend an event i at any day d where startTimei <= d <= endTimei. Notice that you can only attend one event at a原创 2020-05-11 16:05:14 · 285 阅读 · 0 评论 -
【贪心】A035_LC_多次求和构造目标数组(暴力排序 / 暴力优化 / (未 ac))
一、ProblemGiven an array of integers target. From a starting array, A consisting of all 1’s, you may perform the following procedure :let x be the sum of all elements currently in your array.choose index i, such that 0 <= i < target.size and set th原创 2020-05-11 11:58:33 · 218 阅读 · 0 评论 -
【贪心】A034_LC_跳跃游戏 II(暴搜 / dp / bfs)
一、ProblemGiven an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Your go...原创 2020-05-05 10:06:43 · 226 阅读 · 0 评论 -
【贪心】B033_LQ_切香肠(暴力 / 二分)
一、Problem窗外肉价飞涨,屋里灶台微响。便当店老板在沉思中苦恼: 现在店里的存货还有nn条特制香肠,长度分别为 LiL_iLi如果能从它们中切割出 k 条长度相同的香肠的话,就能应付突如其来的奇怪的订单你能帮这位老板计算一下这 k 条香肠每条最长能有多长吗?(答案保留小数点后两位,规定1 单位长度的香肠最多可以切割成 100 份)输入3 43 5 4输出2.50样...原创 2020-05-04 22:58:57 · 358 阅读 · 0 评论 -
【贪心 dw】B032_检查一个字符串是否可以打破另一个字符串(田忌赛马思想)
一、描述Given two strings: s1 and s2 with the same size, check if some permutation of string s1 can break some permutation of string s2 or vice-versa (in other words s2 can break s1).A string x can brea...原创 2020-05-03 23:15:33 · 227 阅读 · 0 评论 -
【贪心】C032_LQ_最优值(排序)
一、Problem输入输入一行包含一个整数 n。接下来N行,每行包含一个单词 Ai。输出输出最大价值之和。数据范围对于20%的评测用例,1 ≤ n ≤ 10, 且首字母均相同。对于另外30%的评测用例,1 ≤ n ≤ 10,单词长度均相同。对于80%的评测用例,1 ≤ n ≤ 1000。对于100%的评测用例,1 ≤ n ≤ 100000,单词长度不超过20个字符且均为小写字...原创 2020-04-28 22:40:59 · 190 阅读 · 0 评论 -
【贪心】B_5373. 和为 K 的最少斐波那契数字数目(打表)
一、题目描述给你数字 k ,请你返回和为 k 的斐波那契数字的最少数目,其中,每个斐波那契数字都可以被使用多次。斐波那契数字定义为:F1 = 1F2 = 1Fn = Fn-1 + Fn-2 , 其中 n > 2 。数据保证对于给定的 k ,一定能找到可行解。提示:1 <= k <= 10^9输入:k = 7输出:2 解释:斐波那契数字为:1,1,2,3,5...原创 2020-04-19 14:57:00 · 212 阅读 · 0 评论 -
【贪心】B031_合并区间(排序)
一、题目描述Given a collection of intervals, merge all overlapping intervals.Input: [[1,3],[2,6],[8,10],[15,18]]Output: [[1,6],[8,10],[15,18]]Explanation: Since intervals [1,3] and [2,6] overlaps, merge...原创 2020-04-17 00:17:34 · 149 阅读 · 0 评论 -
【贪心】B030_雷达设备(排序 + 勾股定理)
一、题目描述假设海岸是一条无限长的直线,陆地位于海岸的一侧,海洋位于另外一侧。每个小岛都位于海洋一侧的某个点上。雷达装置均位于海岸线上,且雷达的监测范围为 d,当小岛与某雷达的距离不超过d时,该小岛可以被雷达覆盖。我们使用笛卡尔坐标系,定义海岸线为x轴,海的一侧在 x 轴上方,陆地一侧在 x 轴下方。现在给出每个小岛的具体坐标以及雷达的检测范围,请你求出能够使所有小岛都被雷达覆盖所需的最...原创 2020-04-10 11:35:05 · 262 阅读 · 0 评论 -
【贪心】B029_畜栏预定(排序 + 小根堆)
一、题目描述有 N 头牛在畜栏中吃草。每个畜栏在同一时间段只能提供给一头牛吃草,所以可能会需要多个畜栏。给定N头牛和每头牛开始吃草的时间A以及结束吃草的时间B,每头牛在 [A,B][A,B][A,B] 这一时间段内都会一直吃草。当两头牛的吃草区间存在交集时(包括端点),这两头牛不能被安排在同一个畜栏吃草。求需要的最小畜栏数目和每头牛对应的畜栏方案。输入格式第1行:输入一个整数N。...原创 2020-04-10 09:15:47 · 241 阅读 · 0 评论 -
【贪心】B028_划分字母区间(记录结束位置)
一、题目描述A string S of lowercase letters is given. We want to partition this string into as many parts as possible so that each letter appears in at most one part, and return a list of integers represen...原创 2020-04-09 21:36:48 · 89 阅读 · 0 评论 -
【贪心】B027_LC_令牌放置(排序 + 策略)
一、题目描述You have an initial power P, an initial score of 0 points, and a bag of tokens.Each token can be used at most once, has a value token[i], and has potentially two ways to use it.If we have at...原创 2020-04-09 18:12:42 · 448 阅读 · 0 评论 -
【贪心】B026_LC_救生艇(排序 + 策略)
一、题目描述The i-th person has weight people[i], and each boat can carry a maximum weight of limit.Each boat carries at most 2 people at the same time, provided the sum of the weight of those people is a...原创 2020-04-09 17:12:51 · 215 阅读 · 0 评论 -
【贪心】B024_交换字符使得字符串相同(统计类型个数)
一、题目描述You are given two strings s1 and s2 of equal length consisting of letters “x” and “y” only. Your task is to make these two strings equal to each other. You can swap any two characters that belo...原创 2020-04-09 16:27:24 · 205 阅读 · 0 评论 -
b_lc_加油站(暴力 | 思维)
一、题目描述There are N gas stations along a circular route, where the amount of gas at station i is gas[i].You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from station i t...原创 2020-04-09 10:10:25 · 179 阅读 · 0 评论 -
【贪心】B021_任务调度器(排序)
一、题目描述Given a char array representing tasks CPU need to do. It contains capital letters A to Z where different letters represent different tasks. Tasks could be done without original order. Each task...原创 2020-04-08 23:13:16 · 269 阅读 · 0 评论 -
【贪心】C020_K 次取反后最大化的数组和(小根堆 / 记录最小值下标)
一、题目描述Given an array A of integers, we must modify the array in the following way: we choose an i and replace A[i] with -A[i], and we repeat this process K times in total. (We may choose the same in...原创 2020-04-08 21:41:54 · 201 阅读 · 0 评论 -
【贪心】C019_LC_两地调度(差值排序)
一、题目描述There are 2N people a company is planning to interview. The cost of flying the i-th person to city A is costs[i][0], and the cost of flying the i-th person to city B is costs[i][1].Return the ...原创 2020-04-08 20:37:09 · 258 阅读 · 0 评论 -
【贪心】C_ACW_018 防晒(排序 | 二分搜索 | 二分图)
一、题目描述有 C 头奶牛进行日光浴,第 i 头奶牛需要 minSPF[i] 到 maxSPF[i] 单位强度之间的阳光。每头奶牛在日光浴前必须涂防晒霜,防晒霜有 L 种,涂上第i种之后,身体接收到的阳光强度就会稳定为 SPF[i],第i种防晒霜有 cover[i] 瓶。求最多可以满足多少头奶牛进行日光浴。输入格式第一行输入整数C和L。接下来的C行,按次序每行输入一头牛的minSPF...原创 2020-04-08 17:55:10 · 285 阅读 · 0 评论 -
【贪心】C_018 货仓选址(排序 + 中位数)
一、题目描述在一条数轴上有 N 家商店,它们的坐标分别为 A1~AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。输入格式第一行输入整数N。第二行N个整数A1~AN。输出格式输出一个整数,表示距离之和的最小值。数据范围1≤N≤100000输入样例:46 2 9 ...原创 2020-04-08 15:51:39 · 353 阅读 · 0 评论 -
【贪心】B_017 把数组排成最小的数(全排列 | 排序?)
一、题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组 [3, 32, 321],则打印出这 3 个数字能排成的最小数字 321323。输入:[3, 32, 321]输出:321323注意:输出数字的格式为字符串。二、题解方法一:全排列对 nums 的每一种组合进行计算。取其中的最大者。溢出错误:由于 nums...原创 2020-04-08 10:30:52 · 183 阅读 · 0 评论 -
【贪心】B015_LC拼车(排序? / PQ / 统计乘客数量)
一、题目描述You are driving a vehicle that has capacity empty seats initially available for passengers. The vehicle only drives east (ie. it cannot turn around and drive west.)Given a list of trips, trip...原创 2020-04-07 21:26:36 · 219 阅读 · 0 评论 -
【贪心】C014_LC_柠檬水找零(先找10元)
一、题目描述在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。输入:[5,5,...原创 2020-04-07 17:03:52 · 306 阅读 · 0 评论 -
【动归】C015_判断子序列(双指针 | dp | 贪心)
一、题目描述Given a string s and a string t, check if s is subsequence of t.You may assume that there is only lower case English letters in both s and t. t is potentially a very long (length ~= 500,000)...原创 2020-03-05 22:58:58 · 201 阅读 · 0 评论 -
【贪心】B_013 种花问题(错误枚举 | 防御式编程 | 模拟)
一、题目描述Suppose you have a long flowerbed in which some of the plots are planted and some are not. However, flowers cannot be planted in adjacent plots - they would compete for water and both would die...原创 2020-04-07 16:12:32 · 124 阅读 · 0 评论 -
【贪心】A_012_计算右侧小于当前元素的个数(暴力 / 二分)
一、题目描述You are given an integer array nums and you have to return a new counts array. The counts array has the property where counts[i] is the number of smaller elements to the right of nums[i].Input...原创 2020-04-07 15:06:57 · 166 阅读 · 0 评论 -
【贪心】B_011 根据身高重建队列(h 降序 k 升序)
一、题目描述假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对 (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]...原创 2020-04-06 22:51:36 · 345 阅读 · 0 评论