贪心算法
Zyy~
我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!
展开
-
《贪心算法》452. 用最少数量的箭引爆气球《leetcode》
452. 用最少数量的箭引爆气球难度中等289在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为xstart,xend,且满足 xstart≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以...原创 2020-11-23 21:41:15 · 142 阅读 · 0 评论 -
《贪心算法》122. 买卖股票的最佳时机 II《leetcode》
122. 买卖股票的最佳时机 II难度简单997给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 ...原创 2020-11-19 22:11:12 · 211 阅读 · 0 评论 -
Huffman树构造基础java版
前言:Huffman树,即最小生成树。其构造过程如下:哈夫曼树并不唯一,但带权路径长度一定是相同的。如下,有权值为1,5,8,4的四个结点,其huffman树构造过程如下:总的来说,可以归结为以下几个步骤:假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,哈夫曼树的构造规则为:1. 将w1、w2、…,wn看成是有n ...原创 2019-05-14 17:14:51 · 945 阅读 · 0 评论 -
最小生成树之kruskal算法
前言: 先介绍一下最小生成树。对于n个结点,用n-1条边使它们相联通,形成一棵树,这个树就叫生成树,其中所有边权值和最小的生成树就是最小生成树。其次,介绍一下kruskal算法的思想。1.讲所有边按升序排序,2,选择权值最小的边。如果边的两个结点不在一个连通分量里,就把一个结点的根节点作为另一个结点的根节点的子节点;反之,在同一个连通分量中,忽略掉。3.重复第二步直到所有顶点都在一个连通...原创 2019-08-12 16:58:26 · 221 阅读 · 0 评论