算法首页
21 道题目

题库练习

精选算法题目,提供详细解析与多语言代码示例,帮助你巩固算法知识,提升解题能力。

动态规划斐波那契LeetCode 70完全背包LeetCode 322背包网格路径组合数学回溯DFS全排列LeetCode 46数组双指针哈希表排序贪心区间字符串比较器拓扑排序判断环二叉树BFS队列LeetCode 102最短路径FloydLeetCode 104LeetCode 144递归LeetCode 101LeetCode 200
简单动态规划 /爬楼梯

假设你正在爬楼梯,每次可以爬 1 或 2 个台阶,求爬到第 n 阶有多少种不同的方法。

动态规划
中等动态规划 /零钱兑换

给定不同面额的硬币和一个总金额,计算可以凑成总金额所需的最少硬币个数,每种硬币数量无限。

动态规划
困难动态规划 /魔理沙的魔导书挑战

按顺序挑战魔导书,每本书消耗或增加魔力值,求在魔力值始终非负的前提下最多能挑战多少本

动态规划
中等动态规划 /最少转向次数

在网格中只向右或向下移动,仅经过值为0的格点,求从左上到右下的最少转向次数

动态规划
中等动态规划 /采购方案(背包计数)

每种素材至少买一个,恰好花完预算,求采购方案总数(完全背包计数)

动态规划
中等动态规划 /不同路径

计算从左上角到右下角的不同路径数量,机器人只能向下或向右移动。

动态规划
中等回溯 /全排列

给定一个不含重复数字的数组,返回其所有可能的全排列。

回溯
简单基础入门 /两数之和 II - 输入有序数组

给定一个升序数组和一个目标值,找到和为目标值的两个元素下标。

数组
中等排序与贪心 /最小化两组极差之和

将数组分成两组(均非空),最小化两组的极差之和

排序
中等排序与贪心 /统计不重叠区间数量

给定一组区间,统计与其他任何区间都不重叠的区间数量

数组
中等排序与贪心 /版本号排序

按照自定义规则对版本号字符串进行排序,包括主版本号逐段比较和测试版优先级处理

排序
困难树与图 /爱丽丝的人偶符法

在树上选择节点翻转其子树同奇偶深度节点,求从初始状态变为目标状态的最少操作次数

困难树与图 /课程表

给定课程依赖关系,判断是否可以完成所有课程。

中等树与图 /依赖关系检测与版本更新

检测有向图中的循环依赖,若无环则更新每个被依赖部件的最大版本号

简单树与图 /二叉树的层序遍历

给定二叉树的根节点,返回其节点值的层序遍历结果(逐层从左到右)。

二叉树
中等树与图 /魔导传输网络

在双向带权图中多次查询两个节点之间的最短路径,使用 Floyd 预处理应对大量查询

简单树与图 /二叉树的最大深度

给定二叉树根节点,返回其最大深度,即从根节点到最远叶子节点的最长路径上的节点数。

二叉树
中等树与图 /盘丝洞灵气路径

在二叉树中统计从根到叶子的合法路径,路径上不允许连续两个负值节点,求最大路径和、阈值判断和路径总数

二叉树
简单树与图 /二叉树的前序遍历

给定二叉树的根节点,返回其节点值的前序遍历结果(根 → 左 → 右)。

二叉树
简单树与图 /对称二叉树

给定二叉树的根节点,检查它是否是轴对称的。

二叉树
中等搜索 /岛屿数量

给定一个由 '1'(陆地)和 '0'(水)组成的二维网格,计算岛屿的数量。

网格