贪心算法Day1笔记

贪心策略:

思想
每一步都采取当前状态下的最优选择 从而希望推出全局最优解
缺点:
用贪心策略求得的不一定是全局最优解
比如换零钱那道题 若换成 25 20 5 1四种面值 按照该算法结果应为 面值25 5 5 5 1一共需要5张 显然不对 正确结果应该为20 20 1只需要3张即可
因为没有遍历全部可能性解 只是当前这一步可以达到的局部最优解 过早做出决定 贪图眼前局部利益的最大化 没有放眼长远未来 走一步看一步 所以通常作为辅助策略来使用

小知识点:

  • 子序列可以不连续 但是相对位置不改变
    子串、子数组、子区间必须连续

Article类的数组

Article [] articles=new Article[] {
				new Article(35,10),new Article(30,40),
				new Article(60,30),new Article(50,50),
				new Article(40,35),new Article(10,40),
				new Article(25,30)
		};

对article数组按cmp迭代器排序

Comparator<Article> cmp=(Article a1,Article a2)->{return Double.compare(a2.valueOfDensity,a1.valueOfDensity);}
Arrays.sort(articles, cmp);
发布了9 篇原创文章 · 获赞 0 · 访问量 165

猜你喜欢

转载自blog.csdn.net/weixin_44855907/article/details/104526206
今日推荐