面试问题中排名前 10 的算法
在这篇文章中写了“重要主题的 10 大编码问题及其解决方案”。如果您正在准备编码面试,则必须解决这些问题。
话题 :
1. 图表
2. 链表
3. 动态规划
4. 排序和搜索
5.树/二叉搜索树
6. 数论
7. BIT 操作
8. 字符串/数组
图形
1. 广度优先搜索(BFS)
2. 深度优先搜索(DFS)
3. 从源到所有顶点的最短路径**Dijkstra**
4. 从每个顶点到每个其他顶点的最短路径**Floyd Warshall**
5.检测图中的循环**联合查找**
6. 最小生成树**Prim**
7. 最小生成树**Kruskal**
8. 拓扑排序
9. Boggle(在字符板中找出所有可能的单词)
10. 图中的桥梁
链表
1. 在链表中插入节点(基于一些约束)
2.删除链表中的给定节点(在给定约束下)
3. 比较两个表示为链表的字符串
4. 将链表表示的两个数相加
5. 将一个链表合并到另一个不同位置的链表中
6. 以给定大小的组反转列表
7. 2个链表的并集和交集
8. 检测并删除链表中的循环
9. 链表的归并排序
10. 从单向链表中选择一个随机节点
动态规划
1.最长公共子序列
2.最长递增子序列
3. 编辑距离
4. 最小分区
5. 覆盖距离的方法
6. 矩阵中的最长路径
7. 子集和问题
8. 游戏的最优策略
9. 0-1 背包问题
10.布尔括号问题
排序和搜索
1. 二分查找
2.在排序和旋转的数组中搜索元素
3.冒泡排序
4. 插入排序
5. 归并排序
6.堆排序(二叉堆)
7. 快速排序
8. 插值搜索
9. 在未排序数组中找到第 K 个最小/最大元素
10. 给定一个已排序的数组和一个数字 x,在数组中找出和最接近 x 的对
树/二叉搜索树
1. 求一棵二叉树的最小深度
2. 二叉树中的最大路径和
3. 检查给定的数组是否可以表示二叉搜索树的先序遍历
4. 检查一棵二叉树是否是满二叉树
5. 底视图二叉树
6. 在二叉树的顶视图中打印节点
7. 删除长度 < K 的根到叶路径上的节点
8. 二叉搜索树中的最低公共祖先
9. 检查一棵二叉树是否是另一棵二叉树的子树
10. 反转完美二叉树的交替层次
数论
1. 模幂运算
2. 模乘逆
3. 素性测试 |第 2 组(费马方法)
4.欧拉的Totient函数
5. 埃拉托色尼筛
6. 凸包
7. 基本和扩展欧几里得算法
8. 分段筛
9. 中国剩余定理
10. 卢卡斯定理
位操作
1. 最大子阵列异或
2. 幻数
3.所有对之间位差的总和
4. 交换所有的奇数和偶数位
5. 找到出现一次的元素
6. 给定数字的二进制表示
7. 计算从 1 到 n 的所有数字中的总设置位
8. 旋转一个数字的位
9. 计算将 A 转换为 B 需要翻转的位数
10. 查找下一个稀疏数
字符串/数组
1.在不影响特殊字符的情况下反转数组
2. 所有可能的回文分区
3. 计算总和小于给定值的三元组
4. 将数组转换为 Zig-Zag 方式
5. 从两个给定排序数组的交替元素生成所有可能的排序数组
6. 数组中的毕达哥拉斯三元组
7. 具有连续元素的最大子数组的长度
8. 找出不能表示为给定数组的任何子集之和的最小正整数值
9. 总和大于给定值的最小子数组
10. 股票买卖以最大化利润
竞争性编程的 10 大算法和数据结构
公司明智的准备文章、编码实践和主观问题。
公司实践问题
面试角