• 【代码随想录】动态规划1-基础

    动态规划动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。 解题步骤: 确定 dp 数组(dp table)以及下标的含义 确定递推公式 dp 数组如何初始化 确定遍历顺序 举例推导 d...
  • 【代码随想录】单调栈

    739. 每日温度 link 请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures = ...
  • 【代码随想录】贪心算法6

    53. 最大子序和 link 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。 思路局部最优:当前累加和是正的,就继续累加;否则重新开始。如果当前累加的子数组和...
  • 【代码随想录】贪心算法5-区间问题

    55. 跳跃游戏 link 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。 示例: 输入: [2,3,1,1,4]输出: true解释: 我们可...
  • 【代码随想录】贪心算法4-两个维度权衡问题

    135. 分发糖果 link n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计...
  • 【代码随想录】贪心算法3-贪心解决股票问题

    122.买卖股票的最佳时机 II link 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 示例: 输入: [7,1,5,3,6,4]输...
  • 【代码随想录】贪心算法2-序列问题

    376. 摆动序列 link 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7, 4, 9, 2, 5]...
  • 【代码随想录】贪心算法1

    理论基础贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 刷题或者面试的时候,手动模拟一下感觉可以局部最优推出整体最优,而且想不到反例,那么就试一试贪心。 455. 分发饼干 link 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是...
  • 【代码随想录】回溯6

    491.递增子序列 link 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。 示例 ...
  • 【代码随想录】回溯5-棋盘问题

    51. N皇后 link 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 ...
/7