写点什么

贪心算法

0 人感兴趣 · 16 次引用

  • 最新
  • 推荐

贪心算法思想与练习

文章目录 股票买卖 II 货仓选址 糖果传递 雷达设备 贪心的核心思想:最优解,短视。 按照数据规模猜测贪心,一般在 1 0 5 10 5 是排序, 1 0 6 10 6 或 1 0 7 10 7 是O(n)的做法,扫描一边,1000左右是两重循环,100左右是三重循环。 股票买

https://static001.geekbang.org/infoq/77/77325d825cec2fce90f7f54795fd1e3a.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 665. Non-decreasing Array 非递减数列 (中等)

用户头像
okokabcd
2022-07-31

最多只有一次修改某个数字的机会,问能否将数组变为非递减数组。

https://static001.geekbang.org/infoq/6b/6bc50339b94f869abea8927df20f2121.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 406. Queue Reconstruction by Height 根据身高重建队列 (中等)

用户头像
okokabcd
2022-07-30

这题先要理解题,一个无序数组,数组中每个元素有两个属性,一个表示身高,一个表示前面有几个人和他一样高或更高。现在要把这个数组按其属性排列正确。

https://static001.geekbang.org/infoq/07/0789695ab758db11d698e5680384930a.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode122. Best Time to Buy and Sell Stock II 买卖股票的最佳时机 II(简单)

用户头像
okokabcd
2022-07-29

每天可以无限次买卖,但是只能持有一支股票。想有最大利润,就得低价买高价卖。如果第二天价格比当前价格高,我们就卖出,把差价加入利润中。若后天价格更高,我们还可以在第二天卖出后再买入。以此类推,遍历完整个数组后即可获得最大利润。

https://static001.geekbang.org/infoq/db/db9aad84fe5968c2ca4cccce1503d73d.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 763. Partition Labels 划分字母区间 (中等)

用户头像
okokabcd
2022-07-28

一个字符串S,将其尽可能多的分割为子字符串,条件是每种字符最多只能出现在一个子串中。上面的示例中,字符串S中有多个a,这些a必须只能在第一个子串中,字母e出现在第二个子串中。这道题难点就是如何找到字符串的断点,即拆分成为子串的位置。

https://static001.geekbang.org/infoq/b5/b50ea2c1f59159d0a4ce9fd5b352c324.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 605. Can Place Flowers 种花问题 (简单)

用户头像
okokabcd
2022-07-15

思路:有连续的三个0的话,中间的这个位置种上一朵花。

https://static001.geekbang.org/infoq/67/675cdf8cd559ad4382c93026da17e984.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 435. Non-overlapping Intervals 无重叠区间 (中等)

用户头像
okokabcd
2022-07-14

求最小的移除区间个数,等价于尽量多保留不重叠的区间。在选择要保留区间时,区间的结尾十分重要:选择的区间结尾越小,余留给其它区间的空间就越大,就越能保留更多的区间。因此我们采取的贪心策略为:优先保留结尾小且不相交的区间。

https://static001.geekbang.org/infoq/b5/b50ea2c1f59159d0a4ce9fd5b352c324.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 135. Candy 分发糖果 (困难)

用户头像
okokabcd
2022-07-13

通过两次遍历,分配的糖果就可以满足题目要求了。这里的贪心策略即为,在每次遍历中,只考虑并更新相邻一侧的大小关系。

https://static001.geekbang.org/infoq/b5/b50ea2c1f59159d0a4ce9fd5b352c324.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 455. Assign Cookies 分发饼干 (简)

用户头像
okokabcd
2022-07-12

使用贪心策略是,给剩余孩子里最小饥饿度的孩子分配最小的能饱腹的饼干。

https://static001.geekbang.org/infoq/7b/7b8dc847be43f545a8667ff824800f05.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

贪心:柠檬水找零、跳跃游戏🍋

用户头像
空城机
2021-11-23

以前我也曾经刷过一段时间的leetcode,后来因为比较忙,所以停了好久了。现在来开始重新满满刷起来,毕竟只是位前端,还是继续使用JavaScript进行编写代码(最熟悉一些)

https://static001.geekbang.org/infoq/56/56038215813eca8d08d6d726026a031d.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

贪心算法之 活动安排(Java 代码实现)

用户头像
若尘
2021-06-05

贪心算法之 活动安排(Java代码实现)

https://static001.geekbang.org/infoq/cc/cc61c927d747bb1a3b2e3857edf9627d.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

贪心算法

用户头像
en
2021-01-30

决定整理一下算法相关的东西,简单的就不弄了,先从贪心算法开始吧,会结合例子,希望最起码自己能够讲明白这些东西。(概念源自百度百科,主要是结合例子,解释概念,提前坦白,以及所有代码都是go语言书写,自己实现的)

贪心算法_贪心算法技术文章_InfoQ写作社区