前端算法总结——贪心算法

79 阅读1分钟

贪心算法

  • 贪心算法是算法设计中的一种思想
  • 期盼通过每个阶段的局部最优选择,从而达到全局的最优
  • 结果并不一定最优

leetcode 相关题目

leetcode-455.分饼干

/**
 * @param {number[]} g
 * @param {number[]} s
 * @return {number}
 */
var findContentChildren = function (g, s) {
    g.sort((a, b) => a - b);
    s.sort((a, b) => a - b);
    let i = 0;
    s.forEach(item => {
        if (item >= g[i]) {
            i++;
        }
    })
    return i;
};

leetcode-122.买卖股票的最佳时机 II

/**
 * @param {number[]} prices
 * @return {number}
 */
var maxProfit = function (prices) {
    let profit = 0;
    for (let i = 1; i < prices.length; i++) {
        profit += prices[i] - prices[i - 1] > 0 ? prices[i] - prices[i - 1] : 0
    }
    return profit;
};