友情支持

如果您觉得这个笔记对您有所帮助,看在D瓜哥码这么多字的辛苦上,请友情支持一下,D瓜哥感激不尽,😜

支付宝

微信

有些打赏的朋友希望可以加个好友,欢迎关注D 瓜哥的微信公众号,这样就可以通过公众号的回复直接给我发信息。

wx jikerizhi

公众号的微信号是: jikerizhi因为众所周知的原因,有时图片加载不出来。 如果图片加载不出来可以直接通过搜索微信号来查找我的公众号。

Greedy Algorithms 贪心算法

经典例题

greedy 01
  1. 11. Container With Most Water

  2. [0044-wildcard-matching]

  3. 45. Jump Game II

  4. 55. Jump Game

  5. 122. Best Time to Buy and Sell Stock II

  6. 134. Gas Station

  7. 135. Candy

  8. 179. Largest Number

  9. [0253-meeting-rooms-ii]

  10. [0280-wiggle-sort]

  11. 316. 去除重复字母

  12. [0321-create-maximum-number]

  13. 324. Wiggle Sort II

  14. [0330-patching-array]

  15. 334. Increasing Triplet Subsequence

  16. [0358-rearrange-string-k-distance-apart]

  17. [0376-wiggle-subsequence]

  18. [0397-integer-replacement]

  19. 402. Remove K Digits

  20. 409. Longest Palindrome

  21. [0410-split-array-largest-sum]

  22. [0420-strong-password-checker]

  23. [0435-non-overlapping-intervals]

  24. [0452-minimum-number-of-arrows-to-burst-balloons]

  25. [0455-assign-cookies]

  26. [0484-find-permutation]

  27. [0502-ipo]

  28. [0517-super-washing-machines]

  29. [0527-word-abbreviation]

  30. [0555-split-concatenated-strings]

  31. [0561-array-partition]

  32. 581. Shortest Unsorted Continuous Subarray

  33. [0605-can-place-flowers]

  34. [0611-valid-triangle-number]

  35. 621. 任务调度器

  36. [0624-maximum-distance-in-arrays]

  37. [0625-minimum-factorization]

  38. [0630-course-schedule-iii]

  39. [0632-smallest-range-covering-elements-from-k-lists]

  40. [0646-maximum-length-of-pair-chain]

  41. [0649-dota2-senate]

  42. [0659-split-array-into-consecutive-subsequences]

  43. [0670-maximum-swap]

  44. [0678-valid-parenthesis-string]

  45. [0680-valid-palindrome-ii]

  46. 714. Best Time to Buy and Sell Stock with Transaction Fee

  47. [0738-monotone-increasing-digits]

  48. [0757-set-intersection-size-at-least-two]

  49. [0763-partition-labels]

  50. [0765-couples-holding-hands]

  51. [0767-reorganize-string]

  52. 768. Max Chunks To Make Sorted II

  53. [0769-max-chunks-to-make-sorted]

  54. [0781-rabbits-in-forest]

  55. [0807-max-increase-to-keep-city-skyline]

  56. [0826-most-profit-assigning-work]

  57. [0846-hand-of-straights]

  58. [0857-minimum-cost-to-hire-k-workers]

  59. [0860-lemonade-change]

  60. [0861-score-after-flipping-matrix]

  61. 870. Advantage Shuffle

  62. [0871-minimum-number-of-refueling-stops]

  63. 881. Boats to Save People

  64. [0910-smallest-range-ii]

  65. [0921-minimum-add-to-make-parentheses-valid]

  66. [0936-stamping-the-sequence]

  67. [0942-di-string-match]

  68. [0945-minimum-increment-to-make-array-unique]

  69. [0948-bag-of-tokens]

  70. [0954-array-of-doubled-pairs]

  71. [0955-delete-columns-to-make-sorted-ii]

  72. [0969-pancake-sorting]

  73. [0976-largest-perimeter-triangle]

  74. [0984-string-without-aaa-or-bbb]

  75. [0991-broken-calculator]

  76. [1005-maximize-sum-of-array-after-k-negations]

  77. [1007-minimum-domino-rotations-for-equal-row]

  78. [1013-partition-array-into-three-parts-with-equal-sum]

  79. [1024-video-stitching]

  80. [1029-two-city-scheduling]

  81. [1053-previous-permutation-with-one-swap]

  82. [1054-distant-barcodes]

  83. [1055-shortest-way-to-form-string]

  84. [1058-minimize-rounding-error-to-meet-target]

  85. [1081-smallest-subsequence-of-distinct-characters]

  86. 1090. Largest Values From Labels

  87. [1130-minimum-cost-tree-from-leaf-values]

  88. [1144-decrease-elements-to-make-array-zigzag]

  89. [1147-longest-chunked-palindrome-decomposition]

  90. [1167-minimum-cost-to-connect-sticks]

  91. [1183-maximum-number-of-ones]

  92. [1196-how-many-apples-can-you-put-into-the-basket]

  93. [1199-minimum-time-to-build-blocks]

  94. [1217-minimum-cost-to-move-chips-to-the-same-position]

  95. [1221-split-a-string-in-balanced-strings]

  96. [1247-minimum-swaps-to-make-strings-equal]

  97. 1253. Reconstruct a 2-Row Binary Matrix

  98. [1262-greatest-sum-divisible-by-three]

  99. [1282-group-the-people-given-the-group-size-they-belong-to]

  100. [1296-divide-array-in-sets-of-k-consecutive-numbers]

  101. [1323-maximum-69-number]

  102. [1326-minimum-number-of-taps-to-open-to-water-a-garden]

  103. [1328-break-a-palindrome]

  104. [1330-reverse-subarray-to-maximize-array-value]

  105. [1338-reduce-array-size-to-the-half]

  106. [1353-maximum-number-of-events-that-can-be-attended]

  107. [1363-largest-multiple-of-three]

  108. [1382-balance-a-binary-search-tree]

  109. [1383-maximum-performance-of-a-team]

  110. [1386-cinema-seat-allocation]

  111. [1388-pizza-with-3n-slices]

  112. [1400-construct-k-palindrome-strings]

  113. [1402-reducing-dishes]

  114. [1403-minimum-subsequence-in-non-increasing-order]

  115. [1405-longest-happy-string]

  116. [1414-find-the-minimum-number-of-fibonacci-numbers-whose-sum-is-k]

  117. [1432-max-difference-you-can-get-from-changing-an-integer]

  118. [1433-check-if-a-string-can-break-another-string]

  119. [1465-maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts]

  120. [1481-least-number-of-unique-integers-after-k-removals]

  121. [1488-avoid-flood-in-the-city]

  122. [1505-minimum-possible-integer-after-at-most-k-adjacent-swaps-on-digits]

  123. [1509-minimum-difference-between-largest-and-smallest-value-in-three-moves]

  124. [1520-maximum-number-of-non-overlapping-substrings]

  125. [1526-minimum-number-of-increments-on-subarrays-to-form-a-target-array]

  126. [1529-minimum-suffix-flips]

  127. [1536-minimum-swaps-to-arrange-a-binary-grid]

  128. [1537-get-the-maximum-score]

  129. [1541-minimum-insertions-to-balance-a-parentheses-string]

  130. [1546-maximum-number-of-non-overlapping-subarrays-with-sum-equals-target]

  131. [1558-minimum-numbers-of-function-calls-to-make-target-array]

  132. [1561-maximum-number-of-coins-you-can-get]

  133. [1564-put-boxes-into-the-warehouse-i]

  134. [1567-maximum-length-of-subarray-with-positive-product]

  135. [1578-minimum-time-to-make-rope-colorful]

  136. [1580-put-boxes-into-the-warehouse-ii]

  137. [1585-check-if-string-is-transformable-with-substring-sort-operations]

  138. [1589-maximum-sum-obtained-of-any-permutation]

  139. [1605-find-valid-matrix-given-row-and-column-sums]

  140. [1606-find-servers-that-handled-most-number-of-requests]

  141. [1642-furthest-building-you-can-reach]

  142. [1647-minimum-deletions-to-make-character-frequencies-unique]

  143. [1648-sell-diminishing-valued-colored-balls]

  144. [1663-smallest-string-with-a-given-numeric-value]

  145. [1665-minimum-initial-energy-to-finish-tasks]

  146. [1671-minimum-number-of-removals-to-make-mountain-array]

  147. [1673-find-the-most-competitive-subsequence]

  148. [1675-minimize-deviation-in-array]

  149. [1686-stone-game-vi]

  150. [1689-partitioning-into-minimum-number-of-deci-binary-numbers]

  151. [1702-maximum-binary-string-after-change]

  152. [1703-minimum-adjacent-swaps-for-k-consecutive-ones]

  153. [1705-maximum-number-of-eaten-apples]

  154. [1708-largest-subarray-length-k]

  155. [1710-maximum-units-on-a-truck]

  156. [1713-minimum-operations-to-make-a-subsequence]

  157. [1717-maximum-score-from-removing-substrings]

  158. [1727-largest-submatrix-with-rearrangements]

  159. [1733-minimum-number-of-people-to-teach]

  160. [1736-latest-time-by-replacing-hidden-digits]

  161. [1739-building-boxes]

  162. [1753-maximum-score-from-removing-stones]

  163. [1754-largest-merge-of-two-strings]

  164. [1764-form-array-by-concatenating-subarrays-of-another-array]

  165. [1775-equal-sum-arrays-with-minimum-number-of-operations]

  166. [1785-minimum-elements-to-add-to-form-a-given-sum]

  167. [1788-maximize-the-beauty-of-the-garden]

  168. [1792-maximum-average-pass-ratio]

  169. [1794-count-pairs-of-equal-substrings-with-minimum-difference]

  170. [1798-maximum-number-of-consecutive-values-you-can-make]

  171. [1802-maximum-value-at-a-given-index-in-a-bounded-array]

  172. [1824-minimum-sideway-jumps]

  173. [1827-minimum-operations-to-make-the-array-increasing]

  174. [1833-maximum-ice-cream-bars]

  175. [1838-frequency-of-the-most-frequent-element]

  176. [1846-maximum-element-after-decreasing-and-rearranging]

  177. [1850-minimum-adjacent-swaps-to-reach-the-kth-smallest-number]

  178. 1864. Minimum Number of Swaps to Make the Binary String Alternating

  179. [1874-minimize-product-sum-of-two-arrays]

  180. [1877-minimize-maximum-pair-sum-in-array]

  181. [1881-maximum-value-after-insertion]

  182. [1888-minimum-number-of-flips-to-make-the-binary-string-alternating]

  183. [1899-merge-triplets-to-form-target-triplet]

  184. [1903-largest-odd-number-in-string]

  185. [1921-eliminate-maximum-number-of-monsters]

  186. [1927-sum-game]

  187. [1936-add-minimum-number-of-rungs]

  188. [1946-largest-number-after-mutating-substring]

  189. [1953-maximum-number-of-weeks-for-which-you-can-work]

  190. [1962-remove-stones-to-minimize-the-total]

  191. [1963-minimum-number-of-swaps-to-make-the-string-balanced]

  192. [1968-array-with-elements-not-equal-to-average-of-neighbors]

  193. [1969-minimum-non-zero-product-of-the-array-elements]

  194. [1974-minimum-time-to-type-word-using-special-typewriter]

  195. [1975-maximum-matrix-sum]

  196. [1989-maximum-number-of-people-that-can-be-caught-in-tag]

  197. [1996-the-number-of-weak-characters-in-the-game]

  198. [2007-find-original-array-from-doubled-array]

  199. [2014-longest-subsequence-repeated-k-times]

  200. [2015-average-height-of-buildings-in-each-segment]

  201. [2027-minimum-moves-to-convert-string]

  202. [2029-stone-game-ix]

  203. [2030-smallest-k-length-subsequence-with-occurrences-of-a-letter]

  204. [2037-minimum-number-of-moves-to-seat-everyone]

  205. [2038-remove-colored-pieces-if-both-neighbors-are-the-same-color]

  206. [2064-minimized-maximum-of-products-distributed-to-any-store]

  207. [2071-maximum-number-of-tasks-you-can-assign]

  208. [2078-two-furthest-houses-with-different-colors]

  209. [2086-minimum-number-of-food-buckets-to-feed-the-hamsters]

  210. [2087-minimum-cost-homecoming-of-a-robot-in-a-grid]

  211. [2091-removing-minimum-and-maximum-from-array]

  212. [2098-subsequence-of-size-k-with-the-largest-even-sum]

  213. [2116-check-if-a-parentheses-string-can-be-valid]

  214. [2126-destroying-asteroids]

  215. [2131-longest-palindrome-by-concatenating-two-letter-words]

  216. [2132-stamping-the-grid]

  217. [2136-earliest-possible-day-of-full-bloom]

  218. [2139-minimum-moves-to-reach-target-score]

  219. [2141-maximum-running-time-of-n-computers]

  220. [2144-minimum-cost-of-buying-candies-with-discount]

  221. [2160-minimum-sum-of-four-digit-number-after-splitting-digits]

  222. [2170-minimum-operations-to-make-the-array-alternating]

  223. [2171-removing-minimum-number-of-magic-beans]

  224. [2178-maximum-split-of-positive-even-integers]

  225. [2182-construct-string-with-repeat-limit]

  226. [2193-minimum-number-of-moves-to-make-palindrome]

  227. [2195-append-k-integers-with-minimal-sum]

  228. [2202-maximize-the-topmost-element-after-k-moves]

  229. [2207-maximize-number-of-subsequences-in-a-string]

  230. [2208-minimum-operations-to-halve-array-sum]

  231. [2214-minimum-health-to-beat-game]

  232. [2216-minimum-deletions-to-make-array-beautiful]

  233. [2224-minimum-number-of-operations-to-convert-time]

  234. [2233-maximum-product-after-k-increments]

  235. [2234-maximum-total-beauty-of-the-gardens]

  236. [2241-design-an-atm-machine]

  237. [2244-minimum-rounds-to-complete-all-tasks]

  238. [2259-remove-digit-from-number-to-maximize-result]

  239. [2263-make-array-non-decreasing-or-non-increasing]

  240. [2268-minimum-number-of-keypresses]

  241. [2271-maximum-white-tiles-covered-by-a-carpet]

  242. [2279-maximum-bags-with-full-capacity-of-rocks]

  243. [2285-maximum-total-importance-of-roads]

  244. [2294-partition-array-such-that-maximum-difference-is-k]

  245. [2310-sum-of-numbers-with-units-digit-k]

  246. [2311-longest-binary-subsequence-less-than-or-equal-to-k]

  247. [2323-find-minimum-time-to-finish-all-jobs-ii]

  248. [2333-minimum-sum-of-squared-difference]

  249. [2335-minimum-amount-of-time-to-fill-cups]

  250. [2340-minimum-adjacent-swaps-to-make-a-valid-array]

  251. [2350-shortest-impossible-sequence-of-rolls]

  252. [2357-make-array-zero-by-subtracting-equal-amounts]

  253. [2358-maximum-number-of-groups-entering-a-competition]

  254. [2366-minimum-replacements-to-sort-the-array]

  255. [2375-construct-smallest-number-from-di-string]

  256. [2383-minimum-hours-of-training-to-win-a-competition]

  257. [2384-largest-palindromic-number]

  258. [2389-longest-subsequence-with-limited-sum]

  259. [2405-optimal-partition-of-string]

  260. [2406-divide-intervals-into-minimum-number-of-groups]

  261. [2410-maximum-matching-of-players-with-trainers]

  262. [2412-minimum-money-required-before-transactions]

  263. [2422-merge-operations-to-turn-array-into-a-palindrome]

  264. [2429-minimize-xor]

  265. [2434-using-a-robot-to-print-the-lexicographically-smallest-string]

  266. [2436-minimum-split-into-subarrays-with-gcd-greater-than-one]

  267. [2439-minimize-maximum-of-array]

  268. [2448-minimum-cost-to-make-array-equal]

  269. [2449-minimum-number-of-operations-to-make-arrays-similar]

  270. [2457-minimum-addition-to-make-integer-beautiful]

  271. [2459-sort-array-by-moving-items-to-empty-space]

  272. [2472-maximum-number-of-non-overlapping-palindrome-substrings]

  273. [2486-append-characters-to-string-to-make-subsequence]

  274. [2497-maximum-star-sum-of-a-graph]

  275. [2498-frog-jump-ii]

  276. [2499-minimum-total-cost-to-make-arrays-unequal]

  277. [2517-maximum-tastiness-of-candy-basket]

  278. [2522-partition-string-into-substrings-with-values-at-most-k]

  279. [2528-maximize-the-minimum-powered-city]

  280. [2530-maximal-score-after-applying-k-operations]

  281. [2541-minimum-operations-to-make-array-equal-ii]

  282. [2542-maximum-subsequence-score]

  283. [2548-maximum-price-to-fill-a-bag]

  284. [2551-put-marbles-in-bags]

  285. [2554-maximum-number-of-integers-to-choose-from-a-range-i]

  286. [2557-maximum-number-of-integers-to-choose-from-a-range-ii]

  287. [2561-rearranging-fruits]

  288. [2566-maximum-difference-by-remapping-a-digit]

  289. [2567-minimum-score-by-changing-two-elements]

  290. [2571-minimum-operations-to-reduce-an-integer-to-0]

  291. [2573-find-the-string-with-lcp]

  292. [2576-find-the-maximum-number-of-marked-indices]

  293. [2578-split-with-minimum-sum]

  294. [2587-rearrange-array-to-maximize-prefix-score]

  295. [2589-minimum-time-to-complete-all-tasks]

  296. [2591-distribute-money-to-maximum-children]

  297. [2592-maximize-greatness-of-an-array]

  298. [2598-smallest-missing-non-negative-integer-after-operations]

  299. [2599-make-the-prefix-sum-non-negative]

  300. [2600-k-items-with-the-maximum-sum]

  301. [2601-prime-subtraction-operation]

  302. [2607-make-k-subarray-sums-equal]

  303. [2611-mice-and-cheese]

  304. [2616-minimize-the-maximum-difference-of-pairs]

  305. [2645-minimum-additions-to-make-valid-string]

  306. [2656-maximum-sum-with-exactly-k-elements]

  307. [2659-make-array-empty]

  308. [2663-lexicographically-smallest-beautiful-string]

  309. [2673-make-costs-of-paths-equal-in-a-binary-tree]

  310. [2680-maximum-or]

  311. [2697-lexicographically-smallest-palindrome]

  312. [2706-buy-two-chocolates]

  313. [2708-maximum-strength-of-a-group]

  314. [2712-minimum-cost-to-make-all-characters-equal]

  315. [2734-lexicographically-smallest-string-after-substring-operation]

  316. [2745-construct-the-longest-new-string]

  317. [2789-largest-element-in-an-array-after-merge-operations]

  318. [2790-maximum-number-of-groups-with-increasing-length]

  319. [2800-shortest-string-that-contains-three-strings]

  320. [2811-check-if-it-is-possible-to-split-array]

  321. [2813-maximum-elegance-of-a-k-length-subsequence]

  322. [2818-apply-operations-to-maximize-score]

  323. [2829-determine-the-minimum-sum-of-a-k-avoiding-array]

  324. [2834-find-the-minimum-possible-sum-of-a-beautiful-array]

  325. [2835-minimum-operations-to-form-subsequence-with-target-sum]

  326. [2842-count-k-subsequences-of-a-string-with-maximum-beauty]

  327. [2844-minimum-operations-to-make-a-special-number]

  328. [2847-smallest-number-with-given-digit-product]

  329. [2856-minimum-array-length-after-pair-removals]

  330. [2864-maximum-odd-binary-number]

  331. [2868-the-wording-game]

  332. [2870-minimum-number-of-operations-to-make-array-empty]

  333. [2871-split-array-into-maximum-number-of-subarrays]

  334. [2892-minimizing-array-after-replacing-pairs-with-their-product]

  335. [2895-minimum-processing-time]

  336. [2897-apply-operations-on-array-to-maximize-sum-of-squares]

  337. [2900-longest-unequal-adjacent-groups-subsequence-i]

  338. [2910-minimum-number-of-groups-to-create-a-valid-assignment]

  339. [2918-minimum-equal-sum-of-two-arrays-after-replacing-zeros]

  340. [2931-maximum-spending-after-buying-items]

  341. [2938-separate-black-and-white-balls]

  342. [2939-maximum-xor-product]

  343. [2952-minimum-number-of-coins-to-be-added]

  344. [2957-remove-adjacent-almost-equal-characters]

  345. [2966-divide-array-into-arrays-with-max-difference]

  346. [2967-minimum-cost-to-make-array-equalindromic]

  347. [2971-find-polygon-with-the-largest-perimeter]

  348. [3002-maximum-size-of-a-set-after-removals]

  349. [3012-minimize-length-of-array-using-operations]

  350. [3014-minimum-number-of-pushes-to-type-word-i]

  351. [3016-minimum-number-of-pushes-to-type-word-ii]

  352. [3022-minimize-or-of-remaining-elements-using-operations]

  353. [3035-maximum-palindromes-after-operations]

  354. [3049-earliest-second-to-mark-indices-ii]

  355. [3068-find-the-maximum-sum-of-node-values]

  356. [3074-apple-redistribution-into-boxes]

  357. [3075-maximize-happiness-of-selected-children]

  358. [3081-replace-question-marks-in-string-to-minimize-its-value]

  359. [3085-minimum-deletions-to-make-string-k-special]

  360. [3086-minimum-moves-to-pick-k-ones]

  361. [3088-make-string-anti-palindrome]

  362. [3091-apply-operations-to-make-sum-of-array-greater-than-or-equal-to-k]

  363. [3106-lexicographically-smallest-string-after-operations-with-constraint]

  364. [3107-minimum-operations-to-make-median-of-array-equal-to-k]

  365. [3111-minimum-rectangles-to-cover-points]

  366. [3119-maximum-number-of-potholes-that-can-be-fixed]

  367. [3125-maximum-number-that-makes-result-of-bitwise-and-zero]

  368. [3139-minimum-cost-to-equalize-array]

  369. [3170-lexicographically-minimum-string-after-removing-stars]

  370. [3189-minimum-moves-to-get-a-peaceful-board]

  371. [3192-minimum-operations-to-make-binary-array-elements-equal-to-one-ii]

  372. [3205-maximum-array-hopping-score-i]

  373. [3207-maximum-points-after-enemy-battles]

  374. [3216-lexicographically-smallest-string-after-a-swap]

  375. [3218-minimum-cost-for-cutting-cake-i]

  376. [3219-minimum-cost-for-cutting-cake-ii]

  377. [3221-maximum-array-hopping-score-ii]

  378. [3228-maximum-number-of-operations-to-move-ones-to-the-end]

  379. [3229-minimum-operations-to-make-array-equal-to-target]

  380. [3244-shortest-distance-after-road-addition-queries-ii]

  381. [3260-find-the-largest-palindrome-divisible-by-k]

  382. [3273-minimum-amount-of-damage-dealt-to-bob]

  383. [3281-maximize-score-of-numbers-in-ranges]

  384. [3282-reach-end-of-array-with-max-score]

  385. [3296-minimum-number-of-seconds-to-make-mountain-height-zero]

  386. [3301-maximize-the-total-height-of-unique-towers]

  387. [3302-find-the-lexicographically-smallest-valid-sequence]

  388. [3326-minimum-division-operations-to-make-array-non-decreasing]

  389. [3348-smallest-divisible-digit-product-ii]

  390. [3357-minimize-the-maximum-adjacent-element-difference]

  391. [3362-zero-array-transformation-iii]

  392. [3397-maximum-number-of-distinct-elements-after-operations]

  393. [3402-minimum-operations-to-make-columns-strictly-increasing]

  394. [3413-maximum-coins-from-k-consecutive-bags]

  395. [3424-minimum-cost-to-make-arrays-identical]

  396. [3434-maximum-frequency-after-subarray-operation]

  397. [3439-reschedule-meetings-for-maximum-free-time-i]

  398. [3440-reschedule-meetings-for-maximum-free-time-ii]

  399. [3449-maximize-the-minimum-game-score]

  400. [3457-eat-pizzas]

  401. [3458-select-k-disjoint-special-substrings]

  402. [3462-maximum-sum-with-at-most-k-elements]

  403. [3464-maximize-the-distance-between-points-on-a-square]

  404. [3474-lexicographically-smallest-generated-string]

  405. [3476-maximize-profit-from-task-assignment]

  406. [3487-maximum-unique-subarray-sum-after-deletion]

  407. [3496-maximize-score-after-pair-deletions]

greedy 02