数组相关
- 查找数组中的最大和最小元素
- 实现数组的反转
- 查找数组中的第二大元素
- 从数组中删除重复元素
- 合并两个有序数组
- 找到数组中和为指定值的两个数
- 实现一个动态数组(ArrayList)
- 找到数组中出现次数超过一半的元素
- 寻找数组的连续子数组和为定值
- 查找数组中的峰值元素
字符串相关
- 实现字符串的反转
- 判断一个字符串是否为回文
- 统计字符串中每个字符的出现次数
- 查找字符串中的第一个不重复字符
- 实现字符串的全排列
- 查找两个字符串的最长公共子串
- 判断两个字符串是否为异位词
- 实现字符串的匹配(KMP算法)
- 压缩字符串
- 计算两个字符串的编辑距离
链表相关
- 反转链表
- 查找链表的中间节点
- 删除链表中的重复节点
- 合并两个有序链表
- 检查链表是否有环
- 删除链表中的倒数第N个节点
- 在链表中找到环的入口点
- 对链表进行排序
- 合并K个有序链表
- 交换链表中的相邻节点
树相关
- 实现二叉树的前序遍历
- 实现二叉树的中序遍历
- 实现二叉树的后序遍历
- 实现二叉树的层序遍历
- 查找二叉树的最大深度
- 判断一棵树是否为二叉搜索树
- 查找二叉搜索树的最小值和最大值
- 查找二叉树的最近公共祖先
- 求二叉树的所有路径
- 将二叉搜索树转换为双向链表
排序和搜索
- 实现冒泡排序
- 实现选择排序
- 实现插入排序
- 实现归并排序
- 实现快速排序
- 实现堆排序
- 实现二分查找
- 在旋转排序数组中查找目标值
- 查找第K大的元素
- 查找缺失的数字
动态规划
- 斐波那契数列
- 求解背包问题
- 找到数组中的最长递增子序列
- 找到两个字符串的最长公共子序列
- 找到硬币组合的最小数目
- 判断是否能分割数组为和相等的两部分
- 最长回文子串
- 不同路径数量
- 编辑距离
- 房屋偷盗问题
数学问题
- 计算阶乘
- 判断一个数是否为质数
- 计算两个数的最大公约数
- 实现一个幂函数
- 判断一个数是否为回文数
- 找到一个数的平方根
- 计算两个数的最小公倍数
- 判断一个数是否为丑数
- 求解杨辉三角形
- 找到一个数的所有因子
其他
- 实现LRU缓存机制
- 查找图中的连通分量
- 实现深度优先搜索(DFS)
- 实现广度优先搜索(BFS)
- 判断两个二叉树是否相同
- 找到二叉树中的所有叶子节点
- 计算二叉树的直径
- 生成括号的所有合法组合
- 找到N皇后问题的所有解
- 求解汉诺塔问题
- 实现一个线程安全的单例模式
- 实现一个生产者-消费者模型
- 计算数组中逆序对的数量
- 检查字符串中的括号是否匹配
- 实现字符串的全组合
- 查找链表中的倒数第K个节点
- 实现链表的分区
- 判断一个链表是否为回文链表
- 实现一个队列(FIFO)
- 实现一个栈(LIFO)
- 找到数组中的第一个缺失正数
- 找到N个数中出现次数超过N/3的元素
- 在矩阵中找到目标值
- 查找最长的无重复字符的子串
- 查找数组中连续子数组的最大和
- 查找二维矩阵中的峰值
- 找到一个字符串中所有异位词的起始索引
- 实现Trie(前缀树)
- 实现最短路径算法(如Dijkstra算法)
- 解决约瑟夫环问题
posted @
2024-08-13 15:48
抽象Java
阅读(
6)
评论()
编辑
收藏
举报