基础题(1-20)

  1. 斐波那契数列
    输出前20项斐波那契数列。

  2. 最大公约数
    求两个数的最大公约数。

  3. 最小公倍数
    求两个数的最小公倍数。

  4. 素数判断
    判断一个数是否为素数。

  5. 阶乘计算
    计算一个数的阶乘。

  6. 字符串反转
    将输入的字符串反转输出。

  7. 数组求和
    计算数组中所有元素的和。

  8. 数组最大值
    找出数组中的最大值。

  9. 数组排序
    对数组进行升序排序。

  10. 二分查找
    在有序数组中实现二分查找。

  11. 回文数判断
    判断一个整数是否为回文数。

  12. 质因数分解
    对一个整数进行质因数分解。

  13. 杨辉三角
    输出前10行杨辉三角。

  14. 矩阵转置
    将一个矩阵转置后输出。

  15. 字符串匹配
    在字符串中查找子串的位置。

  16. 链表反转
    实现单链表的反转。

  17. 二叉树遍历
    实现二叉树的前序、中序、后序遍历。

  18. 括号匹配
    判断一个字符串中的括号是否匹配。

  19. 汉诺塔问题
    解决汉诺塔问题并输出步骤。

  20. 最长公共子序列
    求两个字符串的最长公共子序列。


中级题(21-50)

  1. 背包问题
    解决0/1背包问题。

  2. 最短路径
    使用Dijkstra算法求最短路径。

  3. 最小生成树
    使用Kruskal算法求最小生成树。

  4. 动态规划-最大子数组和
    求数组中连续子数组的最大和。

  5. 动态规划-最长递增子序列
    求数组中最长的递增子序列。

  6. 图的深度优先搜索
    实现图的深度优先遍历。

  7. 图的广度优先搜索
    实现图的广度优先遍历。

  8. 拓扑排序
    对有向无环图进行拓扑排序。

  9. 并查集
    实现并查集数据结构。

  10. KMP算法
    实现KMP字符串匹配算法。

  11. 大整数加法
    实现两个大整数的加法。

  12. 大整数乘法
    实现两个大整数的乘法。

  13. 快速幂
    实现快速幂算法。

  14. 欧拉函数
    计算一个数的欧拉函数值。

  15. 模运算
    实现模运算的加、减、乘、除。

  16. 组合数计算
    计算组合数C(n, k)。

  17. 排列数计算
    计算排列数P(n, k)。

  18. 矩阵快速幂
    实现矩阵的快速幂运算。

  19. 高斯消元法
    使用高斯消元法解线性方程组。

  20. 素数筛法
    使用筛法求一定范围内的所有素数。

  21. 八皇后问题
    解决八皇后问题并输出所有解。

  22. 数独求解
    实现数独的求解算法。

  23. 迷宫问题
    使用DFS或BFS解决迷宫问题。

  24. 最大流问题
    使用Ford-Fulkerson算法求最大流。

  25. 线段树
    实现线段树数据结构。

  26. 树状数组
    实现树状数组数据结构。

  27. A*算法
    实现A*寻路算法。

  28. K-means聚类
    实现K-means聚类算法。

  29. 模拟退火算法
    实现模拟退火算法求解优化问题。

  30. 遗传算法
    实现遗传算法求解优化问题。


高级题(51-100)

  1. 最长回文子串
    求字符串中的最长回文子串。

  2. 编辑距离
    计算两个字符串的最小编辑距离。

  3. 最长公共前缀
    求字符串数组中的最长公共前缀。

  4. 滑动窗口最大值
    使用滑动窗口求数组中的最大值。

  5. 接雨水问题
    计算柱状图中能接的雨水量。

  6. 跳跃游戏
    判断是否能从数组起点跳到终点。

  7. 合并区间
    合并所有重叠的区间。

  8. 螺旋矩阵
    按螺旋顺序输出矩阵元素。

  9. 旋转图像
    将二维矩阵顺时针旋转90度。

  10. 字符串解码
    解码包含数字和括号的字符串。

  11. 二叉树的最大深度
    计算二叉树的最大深度。

  12. 二叉树的最近公共祖先
    找到二叉树中两个节点的最近公共祖先。

  13. 二叉搜索树验证
    验证一棵树是否为二叉搜索树。

  14. 二叉树层次遍历
    按层次遍历二叉树。

  15. 二叉树路径和
    找到二叉树中所有路径和等于目标值的路径。

  16. 链表环检测
    判断链表中是否有环。

  17. 链表相交
    找到两个链表的相交节点。

  18. 反转链表II
    反转链表中从第m到第n个节点。

  19. 合并两个有序链表
    合并两个有序链表。

  20. 删除链表的倒数第N个节点
    删除链表的倒数第N个节点。

  21. 最小栈
    设计一个支持push、pop、top和getMin操作的栈。

  22. 有效的括号
    判断字符串中的括号是否有效。

  23. 逆波兰表达式求值
    计算逆波兰表达式的值。

  24. 柱状图中最大的矩形
    计算柱状图中的最大矩形面积。

  25. 滑动窗口最大值
    使用滑动窗口求数组中的最大值。

  26. 最长有效括号
    求字符串中最长的有效括号子串。

  27. 字符串排列
    判断一个字符串是否包含另一个字符串的排列。

  28. 字符串中的字母异位词
    找到字符串中所有字母异位词的起始索引。

  29. 无重复字符的最长子串
    求字符串中无重复字符的最长子串。

  30. 最小覆盖子串
    找到字符串中包含目标字符串所有字符的最短子串。

  31. 子集
    求数组的所有子集。

  32. 全排列
    求数组的所有全排列。

  33. 组合总和
    找到数组中所有和等于目标值的组合。

  34. 电话号码的字母组合
    根据电话号码的数字返回所有可能的字母组合。

  35. 括号生成
    生成所有有效的括号组合。

  36. N皇后问题
    解决N皇后问题并输出所有解。

  37. 数独求解
    实现数独的求解算法。

  38. 单词搜索
    在二维字符数组中查找单词。

  39. 岛屿数量
    计算二维网格中的岛屿数量。

  40. 被围绕的区域
    将二维矩阵中被围绕的区域填充为指定字符。

  41. 课程表
    判断课程安排是否合理。

  42. 课程表II
    返回课程安排的合理顺序。

  43. 最小高度树
    找到树的最小高度根节点。

  44. 网络延迟时间
    计算网络信号到达所有节点的最短时间。

  45. 冗余连接
    找到图中多余的边。

  46. 冗余连接II
    在有向图中找到多余的边。

  47. 字符串压缩
    对字符串进行压缩。

  48. 字符串相乘
    实现两个字符串表示的整数相乘。

  49. 字符串分割
    将字符串分割为回文子串。

  50. 最长连续序列
    求数组中最长的连续序列长度。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐