45. 跳跃游戏
问题45 跳跃游戏 ★☆☆☆☆ https://leetcode-cn.com/problems/jump-game-ii/ 贪婪算法的思路我是参考了官方题解的,但是坦白讲,官方题解的描述和代码我觉得都不大好理解。我尝试用自己的理解表达一下:贪婪算法嘛,简单说就是每一步都争取最好的那个选择。比方说现在位于nums[0],那么这第一跳能到达的最远节点的下标是0+nums[0],记为i。那么问...
问题45 跳跃游戏 ★☆☆☆☆ https://leetcode-cn.com/problems/jump-game-ii/ 贪婪算法的思路我是参考了官方题解的,但是坦白讲,官方题解的描述和代码我觉得都不大好理解。我尝试用自己的理解表达一下:贪婪算法嘛,简单说就是每一步都争取最好的那个选择。比方说现在位于nums[0],那么这第一跳能到达的最远节点的下标是0+nums[0],记为i。那么问...
问题2611 老鼠和奶酪 ★☆☆☆☆ https://leetcode.cn/problems/mice-and-cheese/ 这个题目乍一看不太好理解,但仔细分析题目要求并不复杂。翻译一下,给定两个等长的数组,现在从数组1的k个位置挑k个元素,从数组2挑其余位置的n-k个元素,期望的是挑出来的元素之和最大,求这个最大和是多少。 对于这种求最值的问题,题目难度设定是中等,我就倾向从动态...
问题11 盛最多水的容器 ★☆☆☆☆ https://leetcode-cn.com/problems/container-with-most-water/ 这个题目,从入手角度来说,我首先想的是暴力解法,稍作思考就可以知道,暴力解法很简单,双重循环就可以了,O(N^2)时间复杂度。考虑到题目难度是中等,显然暴力解法是不符合考察要求的。那么如何更快的计算出最大值呢? 对于最值问题,我总是...
问题1053 交换一次的先前排列 ★★☆☆☆ https://leetcode.cn/problems/previous-permutation-with-one-swap/ 这个题目从题目本身的要求来看,并不难理解,交换任意两个位置的元素称为一次swap,现在需要找到一组swap,swap后的数组,以lexicographically的方式来比较,小于当前数组,但是要越大越好。lexic...
Redis Sentinel provides high availability for Redis when not using Redis Cluster. It provides the following capabilities: monitoring, Sentinel constantly checks if your master and replica instan...
What is AI? human vs rational? thought vs behavior? acting humanly, the Turing test approach thinking humanly, the cognitive modeling approach thinking rationally, the laws of thought approa...
问题994 腐烂的橘子 ★★☆☆☆ https://leetcode-cn.com/problems/rotting-oranges/ 这个题目其实和问题542很像,按分钟rotten就可以看作计算从rottened点到fresh点的距离,先把所有rottened的点看作一个整体入队列,然后每次循环处理时,把作为整体入队列的点当作一批来处理,直到队列为空。 private int[] ...
问题733 图像渲染 ★☆☆☆☆ https://leetcode-cn.com/problems/flood-fill/ 这个题目和问题130、问题200、问题695是类似的,而且还更简单些,只需要从一个点开始做一次遍历,遍历的逻辑是一致的,不赘述。 int[] dx = new int[] {0, -1, 0, 1}; int[] dy = new int[] {1, 0, -1...
问题695 岛屿的最大面积 ★★☆☆☆ https://leetcode-cn.com/problems/max-area-of-island/ BFS的解法并不难理解。从某个点开始,上下左右四个方向,联通的点入队列,同时,为了避免重复,借助一个visited的布尔数组。 int[] dx = new int[] {0, -1, 0, 1}; int[] dy = new int[]...
问题542 01矩阵 ★★☆☆☆ https://leetcode-cn.com/problems/01-matrix/ 这个题目是看了官方题解以后写的,自己一开始还是想用DFS,很快就陷入了双向依赖的死循环;也有考虑动态规划,但想的是怎么设计一个统一的动态规划方程,而实际只能是四个方向分别做动态规划。其实从题目要求来看,计算每个节点离最近的0点的距离,BFS应该是更明显的思路,按宽度扩展...