- juxq's blog
《算法通关手册》算法分类题单(原始)4 基础算法
- 2024-4-8 9:21:54 @
#09. 基础算法
#枚举算法题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0001 | 两数之和 | Python | 数组、哈希表 | 简单 |
0204 | 计数质数 | Python | 数组、数学、枚举、数论 | 中等 |
1925 | 统计平方和三元组的数目 | Python | 数学、枚举 | 简单 |
1450 | 在既定时间做作业的学生人数 | Python | 数组 | |
1620 | 网络信号最好的坐标 | 数组、枚举 | 中等 | |
剑指 Offer 57 - II | 和为s的连续正数序列 | Python | 数学、双指针、枚举 | 简单 |
0800 | 相似 RGB 颜色 | Python | 数学、字符串、枚举 | |
0221 | 最大正方形 | Python | 数组、动态规划、矩阵 | 中等 |
0560 | 和为 K 的子数组 | Python | 数组、哈希表、前缀和 |
#递归算法题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0344 | 反转字符串 | Python | 双指针、字符串 | 简单 |
0024 | 两两交换链表中的节点 | Python | 递归、链表 | 中等 |
0118 | 杨辉三角 | Python | 数组、动态规划 | 简单 |
0119 | 杨辉三角 II | Python | ||
0206 | 反转链表 | Python | 递归、链表 | |
0092 | 反转链表 II | Python | 链表 | 中等 |
0021 | 合并两个有序链表 | Python | 递归、链表 | 简单 |
0509 | 斐波那契数 | Python | 递归、记忆化搜索、数学、动态规划 | |
0070 | 爬楼梯 | Python | 记忆化搜索、数学、动态规划 | |
0104 | 二叉树的最大深度 | Python | 树、深度优先搜索、广度优先搜索、二叉树 | |
0124 | 二叉树中的最大路径和 | Python | 树、深度优先搜索、动态规划、二叉树 | 困难 |
0226 | 翻转二叉树 | Python | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0050 | Pow(x, n) | Python | 递归、数学 | 中等 |
0779 | 第K个语法符号 | Python | 位运算、递归、数学 | |
0095 | 不同的二叉搜索树 II | Python | 树、二叉搜索树、动态规划、回溯、二叉树 | |
剑指 Offer 62 | 圆圈中最后剩下的数字 | Python | 递归、数学 | 简单 |
#分治算法题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0004 | 寻找两个正序数组的中位数 | Python | 数组、二分查找、分治 | 困难 |
0023 | 合并 K 个升序链表 | Python | 链表、分治、堆(优先队列)、归并排序 | |
0053 | 最大子数组和 | Python | 数组、分治、动态规划 | 中等 |
0241 | 为运算表达式设计优先级 | Python | 递归、记忆化搜索、数学、字符串、动态规划 | |
0169 | 多数元素 | Python | 数组、哈希表、分治、计数、排序 | 简单 |
0050 | Pow(x, n) | Python | 递归、数学 | 中等 |
0014 | 最长公共前缀 | Python | 字典树、字符串 | 简单 |
剑指 Offer 33 | 二叉搜索树的后序遍历序列 | Python | 栈、树、二叉搜索树、递归、二叉树、单调栈 | 中等 |
#回溯算法题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0046 | 全排列 | Python | 数组、回溯 | 中等 |
0047 | 全排列 II | Python | ||
0037 | 解数独 | Python | 数组、哈希表、回溯、矩阵 | 困难 |
0022 | 括号生成 | Python | 字符串、动态规划、回溯 | 中等 |
0017 | 电话号码的字母组合 | Python | 哈希表、字符串、回溯 | |
0784 | 字母大小写全排列 | Python | 位运算、字符串、回溯 | |
0039 | 组合总和 | Python | 数组、回溯 | |
0040 | 组合总和 II | Python | ||
0078 | 子集 | Python | 位运算、数组、回溯 | |
0090 | 子集 II | Python | ||
0473 | 火柴拼正方形 | Python | 位运算、数组、动态规划、回溯、状态压缩 | |
1593 | 拆分字符串使唯一子字符串的数目最大 | Python | 哈希表、字符串、回溯 | |
1079 | 活字印刷 | Python | 哈希表、字符串、回溯、计数 | |
0093 | 复原 IP 地址 | Python | 字符串、回溯 | |
0079 | 单词搜索 | Python | 数组、回溯、矩阵 | |
0679 | 24 点游戏 | 数组、数学、回溯 | 困难 |
#贪心算法题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0455 | 分发饼干 | Python | 贪心、数组、双指针、排序 | 简单 |
0860 | 柠檬水找零 | Python | 贪心、数组 | |
0056 | 合并区间 | Python | 数组、排序 | 中等 |
0435 | 无重叠区间 | Python | 贪心、数组、动态规划、排序 | |
0452 | 用最少数量的箭引爆气球 | Python | 贪心、数组、排序 | |
0055 | 跳跃游戏 | Python | 贪心、数组、动态规划 | |
0045 | 跳跃游戏 II | Python | ||
0122 | 买卖股票的最佳时机 II | Python | 贪心、数组 | |
0561 | 数组拆分 | Python | 贪心、数组、计数排序、排序 | 简单 |
1710 | 卡车上的最大单元数 | Python | 贪心、数组、排序 | |
1217 | 玩筹码 | Python | 贪心、数组、数学 | |
1247 | 交换字符使得字符串相同 | Python | 贪心、数学、字符串 | 中等 |
1400 | 构造 K 个回文字符串 | Python | 贪心、哈希表、字符串、计数 | |
0921 | 使括号有效的最少添加 | Python | 栈、贪心、字符串 | |
1029 | 两地调度 | Python | 贪心、数组、排序 | |
1605 | 给定行和列的和求可行矩阵 | Python | 贪心、数组、矩阵 | |
0135 | 分发糖果 | Python | 贪心、数组 | 困难 |
0134 | 加油站 | Python | 中等 | |
0053 | 最大子数组和 | Python | 数组、分治、动态规划 | |
0376 | 摆动序列 | Python | 贪心、数组、动态规划 | |
0738 | 单调递增的数字 | Python | 贪心、数学 | |
0402 | 移掉 K 位数字 | 栈、贪心、字符串、单调栈 | ||
0861 | 翻转矩阵后的得分 | Python | 贪心、位运算、数组、矩阵 | |
0670 | 最大交换 | 贪心、数学 |
#位运算题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0504 | 七进制数 | Python | 数学 | 简单 |
0405 | 数字转换为十六进制数 | Python | 位运算、数学 | |
0190 | 颠倒二进制位 | Python | 位运算、分治 | |
1009 | 十进制整数的反码 | Python | 位运算 | |
0191 | 位1的个数 | Python | 位运算、分治 | |
0371 | 两整数之和 | Python | 位运算、数学 | 中等 |
0089 | 格雷编码 | Python | 位运算、数学、回溯 | |
0201 | 数字范围按位与 | Python | 位运算 | |
0338 | 比特位计数 | Python | 位运算、动态规划 | 简单 |
0136 | 只出现一次的数字 | Python | 位运算、数组 | |
0137 | 只出现一次的数字 II | Python | 中等 | |
0260 | 只出现一次的数字 III | Python | ||
0268 | 丢失的数字 | Python | 位运算、数组、哈希表、数学、二分查找、排序 | 简单 |
1349 | 参加考试的最大学生数 | Python | 位运算、数组、动态规划、状态压缩、矩阵 | 困难 |
0645 | 错误的集合 | 位运算、数组、哈希表、排序 | 简单 | |
0078 | 子集 | Python | 位运算、数组、回溯 | 中等 |
0090 | 子集 II | Python |