本文中的编码问题是困难的排序。这篇文章的想法是针对两种类型的人。
- 竞争力的编程准备(对于我ST和II第二年级学生):建议从可能除了链表,树和BST所有类别完成所有的问题。但是,也应该涵盖这些类别中的至少10个问题。如果您以前从未进行过竞争性编程,则强烈建议您先阅读如何开始竞争性编程。如果希望先准备好使用某种语言的语言,则可以先开始C++ Track或Java Track
- 面试准备建议涵盖所有主题。在每个主题中,您都可以根据自己的舒适程度从问题入手。
练习系统准确地告诉您代码失败的测试用例。如果您需要更清楚地了解问题,可以使用预期的输出按钮查看给定输入的输出。您还可以查看其他人的成功提交,以防万一。要查看其他解决方案,请单击问题说明底部的“所有提交”按钮。
话题 :
- 数学的
- 谜题
- 数组
- 细绳
- 搜寻中
- 排序
- 散列
- 矩阵
- 递归
- 分而治之
- 链表
- 双链和循环链表
- 堆
- 队列
- 前缀总和和滑动窗口
- 比特魔术
- 树
- 二进制搜索树
- 堆
- 图形
- 贪婪算法
- 动态编程
- 回溯
- 特里
- 杂项主题
- 重要连结
数学上的:
- 打印图案(您只需要在此处编写函数)
- 打印表格(这是一个完整的代码问题。请在尝试此问题之前查看示例代码)
- 系列AP
- GP系列
- 最近号码
- 阿姆斯特朗数
- 一个数字的总和
- 倒数位
- 打印第K位数字
- 二进制数到十进制数
- 跳数
- 两个数字的GCD
- 两个数字的LCM
- 加两个分数
- 阵列的GCD
- 数字的阶乘
- 计算nPr
- 计算nCr
- 最大素数
- 完美数字
- 配对立方体数
- 查找M的第N个根
- 素数
- Eratosthenes筛
- 1至N之间所有质数的总和。
- 对素数
相关学习资源:数学算法和数论
谜题
- 数平方
- 3除数
- 检查四个点是否形成正方形
- 检查电源
- 重叠矩形
- 阶乘尾随零
- 时针和分针之间的角度
- 开门数量
- 三角数
- 第N个偶数斐波那契数
- 最后两位斐波那契
- 矩阵中的平方
- 一周中的天
相关学习资源:难题
数组:
- 数组操作(搜索,插入,删除)
- 阵列交替打印
- 数组中的最大值和最小值
- 数组第二大
- 数组元素的总和
- 反转数组
- 旋转阵列
- 较小元素的数量
- 从排序的数组中删除重复的元素
- 计算可能的三角形
- 领导者阵列
- 两个数字之间的最小距离
- 大小为3的已排序子序列
- 最大子阵列
- 多数元素
- 波阵
- 最大指数
- 两个数组中的最大求和路径
- 产品阵列拼图
- 在小范围数组中查找重复项
- 查找缺失和重复
- 股票买卖
- 困雨水
- 与给定总和配对
- 巧克力分销问题
- 最长连续子序列
- 三路分区
相关学习资源:数组数据结构
细绳 :
- 检查回文
- 检查字谜
- 七巧板回文
- 标题大小写转换
- 排序字符串
- 合并两个字符串
- 拯救钢铁侠
- 好的或坏的字符串
- URLify给定的字符串
- 提取最大值
- 反转给定字符串的单词
- 实施strstr
- 检查子序列
- 检查旋转
- 检查两个字符串是否为k-anagram
- 罕见字符
- 字谜搜索
- 第一个重复字符
- 第一个非重复字符
- 字符串最长的唯一字符
- 最长回文子串
- 查找字符串的第k个字符
- 字符串中最小的窗口,包含另一个字符串的所有字符
- 添加二进制字符串
- 将两个字符串相乘
- 10的最接近倍数
相关学习资源:字符串数据结构
搜寻:
- 线性搜寻
- 面对太阳
- 磁铁阵列问题
- 二元搜寻
- 排序数组中的楼层
- 计算排序数组中的出现次数
- 搜索经过排序和轮换的
- 寻找遗失的号码
- AP的缺失要素
- 数的平方根
- 在排序的二进制数组中查找过渡点
- 最后一个索引
- 峰值元素
- 分配最小页面数
- 三种常见元素
- 最小正缺数
相关学习资源:搜索算法
排序:
- 检查数组是否排序
- 排序二进制数组
- 对0、1和2的数组进行排序
- 气泡排序
- 插入排序
- 选择排序
- 快速排序
- 合并排序
- 对两半进行排序时对数组进行排序
- 相对排序
- 数组中的三元组和
- 最小掉期排序
- 按频率对元素进行排序
- 三胞胎家庭
- 计算三胞胎
相关学习资源:排序算法
散列:
- 计算不同的元素
- 另一个数组的数组子集
- 细节问题
- 计算元素的频率
- 检查两个数组是否相等
- 第一个元素出现k次
- 在第一但第二
- 非重复元素
- 组合图组
- 选举获胜者
- 用给定的总和检查一对
- 计算差异为k的不重复对
- 计算给定总和的对
- 找出所有四个和数
- 一个简单的分数
- 最大的斐波那契子序列
相关学习资源:哈希数据结构
矩阵 :
- 矩阵转置
- 以蛇形打印矩阵
- 以螺旋形式打印给定的矩阵
- 数独有效吗
- 计算排序矩阵中的零
- 矩阵中的平方
- 布尔矩阵问题
- 按行和列排序搜索
- 查找最大数量为1的行
- 计算矩阵对的总和
- 行明智排序矩阵的中位数
相关学习资源:矩阵数据结构
递归:
- 印刷图案
- 握手
- 河内塔
- 约瑟夫斯问题
- 递归删除所有相邻的重复项
- 电话号码可能包含的字词
- 洪水填充算法
- 字符串的排列
相关学习资源:递归
分而治之:
- 编写自己的幂函数
- 第n个斐波纳契数的程序
- 两个排序数组的第K个元素
- 两个排序数组的中位数
- 唐津算法
- 画家的分区问题
- 凸包
- 计算倒数
相关学习资源:分而治之算法
链表:
- 打印链接列表
- 链表的长度
- 链表中给定索引处的节点
- 链表中间
- 链表末尾的第n个节点
- 删除节点
- 删除第k个节点
- 删除链表中M个节点后的N个节点
- 无头删除
- 重新排列链表
- 分离偶数和奇数(仅使用一次遍历)
- 重新订购清单
- 多项式加法
- 插入排序列表
- 成对交换节点
- 反向链接列表
- 以给定大小的组反向链接列表。
- 检查回文
- 展平链表
- 获取交点
- 从排序列表中删除重复项
- 从未排序的列表中删除重复项
- 对0、1、2和2的链表进行排序。
- 通报链表
- 检测链表中的循环
- 查找循环长度
- 删除链表中的循环
- 加两个以链表表示的数字
- 用随机指针克隆链表
- 将1加到表示为链表的数字上
- 添加两个表示为链表的数字
- 将两个链表相乘
- 合并两个排序的链表
- 合并链表上的排序
- 两个链表的交集
- 两个链表的并集
相关学习资源:链表数据结构
双链和循环链表
- 在双向链接列表中插入节点
- 删除双向链接列表中的节点
- 循环链接列表遍历
- 将循环链表分为两半
- 以排序方式插入到已排序的DLL中
- 双向链接列表上的QuickSort
- 合并双链表上的排序
- 按P节点旋转双向链接列表
- 异或链接列表
相关学习资源:双链表和循环链表。
堆
- 使用数组实现堆栈
- 使用链表实现堆栈
- 检查括号是否平衡
- 反转堆栈
- 在一个数组中实现两个堆栈
- 使用getMin设计堆栈
- 名人问题
- 股票跨度问题
- 下一个更大的元素
- 下一个较小的元素
- 最长有效括号
相关学习资源:堆栈数据结构
排队和出队
- 使用链表实现队列
- 使用数组实现队列
- 使用队列实现堆栈
- 使用堆栈实现队列
- 反转队列
- 环游
相关学习资源:队列数据结构
前缀总和和滑动窗口
- 平衡点
- 检查是否有一个太阳为0的子数组
- 总和为K的最长子阵列
- 最长子数组,总和可被K整除
- 等于1和0的最大子数组
- 两个阵列中最长的公共跨度,具有相同的1和0
- 在大小为k的任何子数组中找到最大和
- 计算大小为k的每个窗口中的不同元素
- 检查给定总和的子数组
相关学习资源:前缀和和滑动窗口
比特魔术
- 检查数字是偶数还是奇数。
- 翻转位数
- 异或游戏
- 在某个位置查找位
- 交换奇数位和偶数位
- 2的幂
- 奇怪的发生元素
- 数组中缺少数字
- 额外元素的索引
- 反转位
- 计数设置位
- 功率设定
相关学习资源:魔术师
树
- 有序遍历
- 预购遍历
- 后遍历
- 级别顺序遍历
- 查找二叉树的高度
- 计数二叉树中的叶子
- 检查孩子的总和
- 镜树
- 检查平衡树
- 二叉树中的最低共同祖先
- 二叉树直径
- 二叉树的左视图
- 二叉树的右视图
- 最大路径总和
- 逐行遍历级别顺序
- 后顺序和顺序中的树
- 预购和订购中的树
- 在相同级别连接节点
- 之字形水平顺序遍历
- 序列化和反序列化二叉树
- 离开DLL
- 二叉树到双链表
- 二叉树到循环双链表
相关学习资源:树数据结构
二进制搜索树
- BST搜索
- BST插入
- BST删除
- 最低BST
- 有序遍历和BST
- 计算位于给定范围内的BST节点
- 添加所有更大的值
- BST的前身和后继
- BST中最近的邻居
- BST中最低的共同祖先
- 将级别订单遍历转换为BST
- 普通BST到平衡BST
- 与BST中的给定总和配对
- 检查BST
- 交换了两个节点的正确BST
- BST的中位数
- BST中的第k个最小元素
- 独特的BST
- 阵列到BST
- 预购遍历和BST
- 预购到后购
- 遍历叶节点
- BST中的零和三元组
- 合并两个BST
- 最大的BST子树
相关学习资源:二进制搜索树
堆
- 二进制堆操作
- 堆高
- 堆排序
- 对几乎排序的数组进行排序
- K最大元素
- 流中的第K个最大元素
- 流的中位数
- 合并k个排序的数组
相关学习资源:堆数据结构
图形
- 打印邻接表
- 广度优先搜索
- 深度优先搜索
- 查找路径是否存在
- 骑士步道
- 蛇梯问题
- 二部图
- 在无向图中检测周期
- 在有向图中检测周期
- 用给定的数字查找前n个数字
- 烂橘子
- 拓扑排序
- 最短的源到目标路径
- 图的传递闭包
- 紧密连接的组件
相关学习资源:图形数据结构
贪婪算法
- 小背包
- 给定总和的最大数
- 活动选择
- 一间房间N次会议
- 最低平台
- 最小硬币数
- 作业排序问题
- 最小化高度
- 霍夫曼编码
- 霍夫曼解码
- 最小生成树
- Dijkstra用于邻接矩阵
相关学习资源:贪婪算法
动态编程
- 打印前n个斐波那契数字。
- 计算到达第n个楼梯的方法
- 切段
- 卡丹算法
- 斯蒂克勒小偷
- 最小跳数
- 解码消息总数
- 最低成本路径
- 硬币找零
- 最长公共子序列
- 不允许连续1
- 编辑距离
- 杆切割
- 水溢出
- 最大小费计算器
- 最长递增子序列
- 最大总和增加子序列
- 最大长度链
- 0 – 1背包问题
- 最大小费计算器
- 交错的字符串
- 最长回文序列
- 通配符模式匹配
- 箱子堆放
- 最长的双子序列
- 最小总和分区
- 矩阵中形成的最大正方形
- 断字
- 矩阵链乘法
- 特殊键盘
- 鸡蛋丢拼图
- 游戏的最佳策略
相关学习资源:动态编程
回溯
- 多次跳鼠迷宫
- 硬币和游戏
- 哈密顿路径
- 解决数独
- 组合总和–第2部分
- 组合总和
- 子集
- K掉期中最大的数字
- M色问题
- 黑和白
相关学习资源:回溯
特里
- 搜寻和插入
- 删除
- 二进制矩阵中的唯一行
- 不同子串的计数
- 词变乱
相关学习资源:Trie数据结构
杂项测试您的整体学习
- 最长的公共前缀
- 实施Atoi
- 两个数字之和最接近零
- 整个数组中最小的较大元素
- 最大矩形
- 查找零和的三元组
- 计算两个数组中的元素
- 合并K个排序的链表
- 最大差异
- 字符串圈
- 所有可能的断字
- 外星人词典
- 设计一个很小的URL或URL缩短器
- 实施LRU缓存
重要链接:
- Sudo位置:适用于Amazon,Microsoft,Adobe等公司
- Sudo位置2:适用于TCS,Infosys,Wipro,Cognizant等公司
- 在第1轮中提出的能力问题:为此目的而设计的选修课。
- 来自不同计算机科学学科的MCQ:学科明智测验
- 所有公司的面试理论和编码问题:公司明智的所有实践问题。
- 所有公司的面试经历:面试一角。
- 必须为亚马逊,微软,Adobe等公司做编码问题
- 必须在公司范围内进行编码问题
您也可以查看我们最新的在线课程系列,以学习DS&Algo名为DSA ,它涵盖了从基本到高级的数据结构的所有内容。
这是一个为期10周的在线认证计划,专门针对数据结构和算法,其中包括预先录制的高级视频讲座和练习中的编程问题。您将学习解决各种计算问题的算法技术,并将实现200多种算法编码问题。本课程为您提供大量的编程挑战,这些挑战可能会在您下一次面试时面临。该课程主要侧重于数据结构和算法:在基于顶级产品的公司中进行选择的关键。
课程的主要特点
- 由GeeksforGeeks团队编写的,井井有条的数据结构和算法教程。
- GeeksforGeeks的创始人兼首席执行官Sandeep Jain先生提供了高级视频讲座。
- 专门的问题解决团队可以为您提供帮助。
- 视频解决方案每周评估测试。
- 基于性能的证书。
- GeeksforGeeks的实习机会。
- 课程是自定进度的:任何人都可以随时注册,付款并开始课程。
还有很多。
该课程有两个版本:
- 有疑问帮助:带有疑问帮助的自定进度在线DSA课程的价格为3,999印度卢比。单击此处购买您的票。
- 没有疑问的帮助:毫无疑问,需要帮助的在线DSA自学课程价格为2,499印度卢比。点击这里购买您的票
。
如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。