#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