【leetcode】81-recursive 递归 汉诺塔(Tower of Hanoi)
chat
题目
汉诺塔(Tower of Hanoi)是一个经典的递归问题。问题描述是,有三个柱子和若干个盘子,初始状态下所有盘子按大小从小到大叠在第一个柱子上。目标是将所有盘子从第一个柱子移动到第三个柱子,但每次只能移动一个盘子,且大盘子不能放在小盘子上面。
解题思路
分解问题:假设有 ( n ) 个盘子在柱子 A 上,要将它们移动到柱子 C 上,可以分解为两个步骤:
...
2020-06-08 07:13:08 |
Algorithm
【leetcode】80-recursive 递归
chat
是什么?
递归算法是一种在计算机科学中非常常见的解决问题的方法,它通过函数调用自身来解决问题。
递归通常将复杂的问题分解成更小的子问题,通过逐步缩小问题规模直到满足某种条件(基准情况或边界条件)停止递归调用,从而得到解答。
递归的基本组成部分
一个典型的递归算法包含两个关键部分:
基准条件(Base Case):基准条件是递归算法停止递归的条件。它通常用于...
2020-06-08 07:13:08 |
Algorithm
【leetcode】73-3195. 包含所有 1 的最小矩形面积 I
题目
给你一个二维 二进制 数组 grid。请你找出一个边在水平方向和竖直方向上、面积 最小 的矩形,并且满足 grid 中所有的 1 都在矩形的内部。
返回这个矩形可能的 最小 面积。
示例 1:
输入: grid = [[0,1,0],[1,0,1]]
输出: 6
解释:
0 1 0
1 0 1
这个最小矩形的高度为 2,宽度为 3,因此面积为 2 * 3...
2020-06-08 07:13:08 |
Algorithm
【leetcode】73-greedy 2459. 通过移动项目到空白区域来排序数组
题目
给定一个大小为 n 的整数数组 nums,其中包含从 0 到 n - 1 (包含边界) 的 每个 元素。
从 1 到 n - 1 的每一个元素都代表一项目,元素 0 代表一个空白区域。
在一个操作中,您可以将 任何 项目移动到空白区域。如果所有项目的编号都是 升序 的,并且空格在数组的开头或结尾,则认为 nums 已排序。
例如,如果 n = 4,则 nums 按以下条件排序:...
2020-06-08 07:13:08 |
Algorithm
【leetcode】72-greedy 2548. 填满背包的最大价格 分数背包
题目
给定一个二维整数数组 items ,其中 items[i] = [pricei, weighti] 表示第 i 个物品的价格和重量。
还给定一个 正 整数容量 capacity 。
每个物品可以分成两个部分,比率为 part1 和 part2 ,其中 part1 + part2 == 1 。
第一个物品的重量是 weighti * part1 ,价格是 pricei * par...
2020-06-08 07:13:08 |
Algorithm
【leetcode】71-greedy 55 jump-game 力扣.55 跳跃游戏
题目
TBC…
参考资料
https://leetcode.cn/problems/house-robber/description/?envType=problem-list-v2&envId=dynamic-programming
题目
参考资料
2020-06-08 07:13:08 |
Algorithm
【leetcode】70-greedy 贪心算法
chat
详细介绍一下 贪心算法
贪心算法(Greedy Algorithm)是一种在每一步选择当前状态下局部最优解的算法策略,希望通过一系列局部最优选择得到全局最优解。
贪心算法通常比其他方法(如动态规划)简单、高效,但它并不总是适用,也无法保证在所有情况下找到最优解。
因此,使用贪心算法时需要先确认问题是否满足贪心选择的条件。
贪心算法的特点
贪心选择性质:
...
2020-06-08 07:13:08 |
Algorithm
【leetcode】62-337. house-robber-iii 力扣 337. 打家劫舍 III dynamic-programming
题目
小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。
除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。
如果 两个直接相连的房子在同一天晚上被打劫 ,房屋将自动报警。
给定二叉树的 root 。
返回 在不触动警报的情况下 ,小偷能够盗取的最高金额 。
示例...
2020-06-08 07:13:08 |
Algorithm