08 2020 档案
摘要:设计实现一个带有下列属性的二叉查找树的迭代器: next()返回BST中下一个最小的元素 元素按照递增的顺序被访问(比如中序遍历) next()和hasNext()的询问操作要求均摊时间复杂度是O(1) 在线评测地址:点击此处前往 样例 1: 输入:{10,1,11,#,6,#,12} 输出:[1,
阅读全文
摘要:给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。 在线评测地址:点击此处前往 说明 最长上升子序列的定义: 最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一的。 样例 1: 输入: [5,4,1,2,3] 输出: 3
阅读全文
摘要:假设有一个排序的按未知的旋转轴旋转的数组(比如,0 1 2 4 5 6 7 可能成为4 5 6 7 0 1 2)。给定一个目标值进行搜索,如果在数组中找到目标值返回数组中的索引位置,否则返回-1。你可以假设数组中不存在重复的元素。 在线评测地址:点击此处前往 例1: 输入: [4, 5, 1, 2,
阅读全文
摘要:在数组中找到第 k 大的元素。(你可以交换数组中的元素的位置) 在线评测地址:点击此处前往 样例 1: 输入: n = 1, nums = [1,3,4,2] 输出: 4 样例 2: 输入: n = 3, nums = [9,3,2,4,8] 输出: 4 【题解】 算法:快速选择算法 最容易想到的就
阅读全文
摘要:对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。 在线评测地址:LintCode 领扣 说明 在面试中我是否需要实现KMP算法? 不需要,当这种问题出现在面试中时,面试
阅读全文
摘要:设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你只需要确保可以将二叉树序列化为一个字符串,并且可以将字符串反序列化为原来的树结构。 对二进制树进行反序列化或序列化的方式没有限
阅读全文
摘要:在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]。 你不可以将物品进行切割。 在线评测地址:点击此处前往 样例 1: 输入: [3,4,8,5], backpack size=10 输出: 9 样例 2: 输入: [2,3,5,7], backpack s
阅读全文
摘要:给定一个二叉查找树(什么是二叉查找树),以及一个节点,求该节点在中序遍历的后继,如果没有则返回null 保证p是给定二叉树中的一个节点。(您可以直接通过内存地址找到p) 在线评测地址:点击此处前往 样例 1: 输入: {1,#,2}, node with value 1 输出: 2 解释: 1 \
阅读全文
摘要:给一个二维的矩阵,包含 'X' 和 'O', 找到所有被 'X' 围绕的区域,并用 'X' 替换其中所有的 'O'。 在线评测地址:点击此处前往 样例 1: 输入: X X X X X O O X X X O X X O X X 输出: X X X X X X X X X X X X X O X X
阅读全文
摘要:给出一棵二叉树,返回其节点值的锯齿形层次遍历(先从左往右,下一层再从右往左,层与层之间交替进行) 在线评测地址:点击此处前往 样例 1: 输入:{1,2,3} 输出:[[1],[3,2]] 解释: 1 / \ 2 3 它将被序列化为 {1,2,3} 样例 2: 输入:{3,9,20,#,#,15,7
阅读全文
摘要:这是一个祖玛游戏。 一行球放在桌面上,球被涂上了红(R)、黄(Y)、蓝(B)、绿(G)和白(W)这么几种颜色,同时你也拥有几个球。 每一次,从你拥有的球当中拿出一个,插入到当前行当中(包括最左边和最右边)。然后,如果有三个或更多的同色球挨在一起,然后就消除这几个球。一直这么做直到没有更多的球可以消除
阅读全文
摘要:求逆波兰表达式的值。 在逆波兰表达法中,其有效的运算符号包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰计数表达。 在线评测地址:点击此处前往 样例 1: 输入: ["2", "1", "+", "3", "*"] 输出: 9 解释: ["2", "1", "+", "3"
阅读全文
摘要:LintCode想让它最好的员工之一选择在N个城市间旅行来收集算法问题。但是只工作不玩耍,聪明的孩子也会变傻,你可以在某些特定的城市并且一个星期里去度假。你的工作是安排旅行,尽可能多的假期,但是有一些规则和限制你需要遵守。 规则和限制: 您只能在1个城市中旅行,由0到N-1的索引表示。一开始,你周一
阅读全文
摘要:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个二进制的差异。 给定一个非负整数 n ,表示该代码中所有二进制的总数,请找出其格雷编码顺序。一个格雷编码顺序必须以 0 开始,并覆盖所有的 2n 个整数。 对于给定的 n,其格雷编码顺序并不唯一。 当n = 2时,根据上面的定义,[0,
阅读全文
摘要:当以下条件都满足时,一个密码被视为是强密码: 至少包含6个字符,但不超过20个字符。 至少包含一个小写字母,一个大写字母,和一个数字。 不能包含三个连续的重复字符("...aaa..."是弱密码,但"...aa...a..."是强密码,假设它们的其他条件都满足了)。 写一个函数strongPassw
阅读全文
摘要:给定一个长度为n的数组a,它有n(n+1)/2个子数组。请计算这些子数组的和,然后按照升序排列,并返回排序后第k个数。 1≤n≤10^5 1≤ai≤10^9 1≤k≤n(n+1)/2 在线评测地址:点击此处前往 Example1 Input: [2,3,1,4] 6 Output:5 E
阅读全文
摘要:水平面上有 N 座大楼,每座大楼都是矩阵的形状,可以用一个三元组表示 (start, end, height),分别代表其在x轴上的起点,终点和高度。大楼之间从远处看可能会重叠,求出 N 座大楼的外轮廓线。 外轮廓线的表示方法为若干三元组,每个三元组包含三个数字 (start, end, heigh
阅读全文
摘要:n个人按顺序围成一圈(编号为1~n),从第1个人从1开始报数,报到k的人出列,相邻的下个人重新从1开始报数,报到k的人出列,重复这个过程,直到队伍中只有1个人为止,这就是约瑟夫问题。现在给定n和k,你需要返回最后剩下的那个人的编号。 1<=n<=1000, 1<=k<=100 在线评测地址:Lint
阅读全文
浙公网安备 33010602011771号