随笔分类 -  算法

算法
摘要:描述 一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数据结构。 输入描述: 输入数据第一行一个整数N为栈中元素的个数。接下来一行N个整数X_iXi​表示一个栈 阅读全文
posted @ 2022-01-10 14:00 思凡念真 阅读(76) 评论(0) 推荐(0) 编辑
摘要:描述 用两个栈实现队列,支持队列的基本操作。 输入描述: 第一行输入一个整数N,表示对队列进行的操作总数。下面N行每行输入一个字符串S,表示操作的种类。如果S为"add",则后面还有一个整数X表示向队列尾部加入整数X。如果S为"poll",则表示弹出队列头部操作。如果S为"peek",则表示询问当前 阅读全文
posted @ 2022-01-09 21:22 思凡念真 阅读(32) 评论(0) 推荐(0) 编辑
摘要:描述 实现一个特殊功能的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。 输入描述: 第一行输入一个整数N,表示对栈进行的操作总数。下面N行每行输入一个字符串S,表示操作的种类。如果S为"push",则后面还有一个整数X表示向栈里压入整数X。如果S为"pop",则表示弹出栈顶操作。如果 阅读全文
posted @ 2022-01-09 19:49 思凡念真 阅读(65) 评论(0) 推荐(0) 编辑
摘要:描述 给定排序数组arr和整数k,不重复打印arr中所有相加和为k的不降序二元组 例如, arr = [-8, -4, -3, 0, 1, 2, 4, 5, 8, 9], k = 10,打印结果为: 1, 9 2, 8 [要求] 时间复杂度为O(n)O(n),空间复杂度为O(1)O(1) 输入描述: 阅读全文
posted @ 2022-01-09 19:20 思凡念真 阅读(100) 评论(0) 推荐(0) 编辑
摘要:描述 先给出可整合数组的定义:如果一个数组在排序之后,每相邻两个数的差的绝对值都为1,或者该数组长度为1,则该数组为可整合数组。例如,[5, 3, 4, 6, 2]排序后为[2, 3, 4, 5, 6],符合每相邻两个数差的绝对值都为1,所以这个数组为可整合数组 给定一个数组arr, 请返回其中最大 阅读全文
posted @ 2022-01-09 19:04 思凡念真 阅读(63) 评论(0) 推荐(0) 编辑
摘要:描述 给定一个N \times MN×M的整形矩阵matrix和一个整数K, matrix的每一行和每一列都是排好序的。 实现一个函数,判断K是否在matrix中 [要求] 时间复杂度为O(N+M)O(N+M),额外空间复杂度为O(1)O(1)。 输入描述: 第一行有三个整数N, M, K接下来N行 阅读全文
posted @ 2022-01-09 18:54 思凡念真 阅读(81) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示