美文网首页
算法设计思想-贪心算法

算法设计思想-贪心算法

作者: sweetBoy_9126 | 来源:发表于2021-12-11 18:33 被阅读0次

1. 是什么

  • 通过每个阶段的局部最优选择,从而达到全局的最优。
  • 结果并不一定是最优。

2. 场景

2.1. 分饼干 leetCode 455

var findContentChildren = function(g, s) {
    const sortFunction = (a, b) => {
        return a - b;
    }
    g.sort(sortFunction);
    s.sort(sortFunction);
    let i = 0;
    s.forEach(n => {
        if (n >= g[i]) {
            i+= 1;
        }
    })
    return i;
};

时间复杂度 O(n*logn) 空间复杂度O(1)

2.2. 买卖股票的最佳时机 leetCode: 122

var maxProfit = function(prices) {
    let profit = 0;
    for (let i = 1; i < prices.length; i++) {
        if (prices[i] > prices[i - 1]) {
            profit += prices[i] - prices[i - 1]
        }
    }
    return profit;
};

相关文章

  • 数据结构与算法笔记day22:贪心算法|分治算法|回溯算法

    1贪心算法 这节课学习了贪心算法。实际上,贪心算法适用的场景比较有限。这种算法思想更多的是在指导设计基...

  • 贪心算法:使用贪心算法实现哈夫曼编码

    文章结构 如何理解贪心算法 贪心算法实例分析 使用贪心算法实现哈夫曼编码 源码地址 说明 算法中基本的算法思想有:...

  • 算法设计思想-贪心算法

    1. 是什么 通过每个阶段的局部最优选择,从而达到全局的最优。 结果并不一定是最优。 2. 场景 2.1. 分饼干...

  • 那些经典算法:贪心算法

    贪心算法和分治算法、动态规划算法、回溯算法都是一种编程思想,深入理解这些编程思想,我们也可以根据实际情况设计自己的...

  • 动态规划

    --tags: 算法,动态规划 动态规划解题 引入:动态规划 和贪心法 都是算法的思想方法 贪心算法——像 第一类...

  • 2019-10-23 贪心算法

    记得刚开始学算法的时候,以为这个贪心算法是个固定一套的有模板算法,其实这个变化还是很灵活的 贪心算法在思想...

  • 算法思想 | 贪心算法

    背景 有1元、5元、10元、20元、100元、200元的钞票无穷多张。现使用这些钞票支付X元,最少需要多少张? 例...

  • 算法思想 - 贪婪(贪心)算法

    贪婪算法 什么是贪婪算法 “贪婪”可以理解为,以逐步的局部最优,达到最终的全局最优。即在每一次选择中都选择当前的最...

  • 算法设计常用思想之贪心算法

    贪心算法的基本思想 贪心算法,是寻找最优解问题的常用方法,这种方法模式一般将求解过程分成若干个步骤,但每个步骤都应...

  • 算法讲解|贪心算法的理解与分析

    贪心算法 Part 1 贪心算法简介 ​ Part 2 解题一般步骤 1、 设计数据找规律; 2、 ...

网友评论

      本文标题:算法设计思想-贪心算法

      本文链接:https://www.haomeiwen.com/subject/ijgkfrtx.html