03 2020 档案

摘要:题目 0,1,,n 1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。 示例 1: 示例 2: 限 阅读全文
posted @ 2020-03-30 22:17 Galaxy_hao 阅读(123) 评论(0) 推荐(0) 编辑
摘要:题目 你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。 我们这里说的距离是『曼哈顿距离』( Manha 阅读全文
posted @ 2020-03-29 22:46 Galaxy_hao 阅读(139) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。 对于每一个索引,我们可以通过从字符串 S 中 阅读全文
posted @ 2020-03-28 22:53 Galaxy_hao 阅读(167) 评论(0) 推荐(0) 编辑
摘要:题目 给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X = 2 时返回 true。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 提示: 1 阅读全文
posted @ 2020-03-27 21:48 Galaxy_hao 阅读(133) 评论(0) 推荐(0) 编辑
摘要:题目 在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。 车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝 阅读全文
posted @ 2020-03-26 22:22 Galaxy_hao 阅读(87) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 示例 2: 示例 3: 本题同 "【剑指Offer】面试题48. 最长不含重复字符的子字符串" 思路一:暴力遍历 以每个字符开始寻找最长子串。 代码 时间复杂度:O(n^2) 思路二:滑动窗口 将哈希表作为滑动窗口 阅读全文
posted @ 2020-03-25 20:40 Galaxy_hao 阅读(253) 评论(0) 推荐(0) 编辑
摘要:题目 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 示例 1: 示例 2: 示例 3: 提示: s.length ump; int size = s.size(), res = 0; for (int i = 0, j = 0; j uset; int size = 阅读全文
posted @ 2020-03-25 20:37 Galaxy_hao 阅读(356) 评论(0) 推荐(0) 编辑
摘要:题目 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。 注意:本题相对原题稍作改动 示例 1: 示例 2: 示例 3: 思路 dp[i] 阅读全文
posted @ 2020-03-24 19:58 Galaxy_hao 阅读(141) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 示例 2: 提示: 给定链表的结点数介于 1 和 100 之间。 思路一:单指针 先统计节点个数,然后从头开始走一半。 代码 时间复杂度:O(n) 空间复杂度:O(1) 思 阅读全文
posted @ 2020-03-23 22:13 Galaxy_hao 阅读(152) 评论(0) 推荐(0) 编辑
摘要:题目 给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1。 返回使 A 中的每个值都是唯一的最少操作次数。 示例 1: 示例 2: 提示: 0 & A) { sort(A.begin(), A.end()); int res = 0; for (int i = 1; i < 阅读全文
posted @ 2020-03-22 22:54 Galaxy_hao 阅读(134) 评论(0) 推荐(0) 编辑
摘要:题目 有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水? 如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水。 你允许: 装满任意一个水壶 清空任意一个水壶 从一个水壶向另外一个水壶倒水,直到装满或者倒空 示例 1: (Fr 阅读全文
posted @ 2020-03-21 22:53 Galaxy_hao 阅读(137) 评论(0) 推荐(0) 编辑
摘要:题目 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 示例 2: 限制: 0 getLeastNumbers(vector& arr, int k) { priority_queue pq; for 阅读全文
posted @ 2020-03-19 22:25 Galaxy_hao 阅读(219) 评论(0) 推荐(0) 编辑
摘要:题目 矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。 如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。 给出两个矩形,判断它们是否重叠并返回结果。 示例 1: 示例 2: 提示 阅读全文
posted @ 2020-03-18 22:14 Galaxy_hao 阅读(137) 评论(0) 推荐(0) 编辑
摘要:题目 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。 注意:每次拼写时,chars 中的每个字母都只能用一次。 返回词汇表 word 阅读全文
posted @ 2020-03-17 22:02 Galaxy_hao 阅读(135) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 示例 2: 示例 3: 说明: 无空格字符构成一个单词。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 进阶:请选用 C 语言的用户尝试使用 O 阅读全文
posted @ 2020-03-16 22:07 Galaxy_hao 阅读(171) 评论(0) 推荐(0) 编辑
摘要:题目 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。 示例 1: 示例 2: 示例 3: 说明: 无空格字符构成一个单词。 输入字符串可以在前面或者 阅读全文
posted @ 2020-03-16 22:04 Galaxy_hao 阅读(159) 评论(0) 推荐(0) 编辑
摘要:题目 给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。 示例 1: 示例 2: 提示: 0 & pushed, vector& popped) { 阅读全文
posted @ 2020-03-15 22:21 Galaxy_hao 阅读(568) 评论(0) 推荐(0) 编辑
摘要:题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。 示 阅读全文
posted @ 2020-03-15 22:19 Galaxy_hao 阅读(188) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 示例: 提示: 你可以假设 k 总是有效的,在输入数组不为空的情况下,1 ≤ k ≤ 输入数组的大小。 本题同 阅读全文
posted @ 2020-03-14 23:47 Galaxy_hao 阅读(153) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 提示: 你可以假设 k 总是有效的,在输入数组不为空的情况下,1 ≤ k ≤ 输入数组的大小。 本题同 "【LeetCode】239. 滑动窗口最大值" 思路一:暴力 对每个数,寻找包括当前数在内后面k个数最 阅读全文
posted @ 2020-03-14 23:43 Galaxy_hao 阅读(223) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 示例 2: 思路一:摩尔投票 先假设第一个数为超过半数,然后与下一个数进行比较,如果相等,则计数器加一,否则计数器减 阅读全文
posted @ 2020-03-13 22:28 Galaxy_hao 阅读(147) 评论(0) 推荐(0) 编辑
摘要:题目 对于字符串 S 和 T,只有在 S = T + ... + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。 返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。 示例 1: 示例 2: 示例 3: 提示: 1 <= str1.length <= 阅读全文
posted @ 2020-03-12 23:02 Galaxy_hao 阅读(101) 评论(0) 推荐(0) 编辑
摘要:题目 给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。 形式上,如果可以找出索引 i+1 & A) { int sum = 0; for (auto n : A) { sum += n; } if (sum % 3 != 0) return fa 阅读全文
posted @ 2020-03-11 22:19 Galaxy_hao 阅读(190) 评论(0) 推荐(0) 编辑
摘要:题目 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) 将元素 x 推入栈中。 pop() 删除栈顶的元素。 top() 获取栈顶元素。 getMin() 检索栈中的最小元素。 示例: 本题同 "【剑指Offer】面试题30. 包含min函数的栈" 阅读全文
posted @ 2020-03-10 21:39 Galaxy_hao 阅读(117) 评论(0) 推荐(0) 编辑
摘要:题目 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: 提示: 各函数的调用总次数不超过 20000 次 本题同 "【LeetCode】155. 最小栈" 思路 把每次的最小值(之前最小值和新 阅读全文
posted @ 2020-03-10 21:36 Galaxy_hao 阅读(181) 评论(0) 推荐(0) 编辑
摘要:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1: 示例 2: 示例 3: 示例 4: 提示: 10000 ump; Node cur = head 阅读全文
posted @ 2020-03-09 21:26 Galaxy_hao 阅读(203) 评论(0) 推荐(0) 编辑
摘要:给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的 "深拷贝" 。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。 ra 阅读全文
posted @ 2020-03-09 21:25 Galaxy_hao 阅读(138) 评论(0) 推荐(0) 编辑
摘要:题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以 阅读全文
posted @ 2020-03-08 21:58 Galaxy_hao 阅读(116) 评论(0) 推荐(0) 编辑
摘要:题目 请实现两个函数,分别用来序列化和反序列化二叉树。 示例: 你可以将以下二叉树: 本题同 "【LeetCode】297. 二叉树的序列化与反序列化" 思路一:递归 使用特殊符号(“ ”)表示空树。 代码 另一种写法 阅读全文
posted @ 2020-03-08 21:52 Galaxy_hao 阅读(112) 评论(0) 推荐(0) 编辑
摘要:题目 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 1 示例 1: 示例 2: 限制: 1 que; dequ 阅读全文
posted @ 2020-03-07 23:39 Galaxy_hao 阅读(135) 评论(0) 推荐(0) 编辑
摘要:题目 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 示例 1: 示例 2: 限制: `1 findContinuousSequence(int target) { vector res; 阅读全文
posted @ 2020-03-06 22:24 Galaxy_hao 阅读(177) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 "百度百科" 中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [ 阅读全文
posted @ 2020-03-05 22:07 Galaxy_hao 阅读(126) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 "百度百科" 中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [ 阅读全文
posted @ 2020-03-05 22:05 Galaxy_hao 阅读(152) 评论(0) 推荐(0) 编辑
摘要:题目 思路 代码 阅读全文
posted @ 2020-03-04 22:34 Galaxy_hao 阅读(85) 评论(0) 推荐(0) 编辑
摘要:题目 给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。 初始化 A 和 B 的元素数量分别为 m 和 n。 示例: 思路 代码 时间复杂度:O(m+n) 空间复杂度:O(1) 阅读全文
posted @ 2020-03-03 22:32 Galaxy_hao 阅读(113) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 "百度百科" 中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大( 一个节点也可以是它自己的祖先 )。” 例如,给定如下二叉搜索树: ro 阅读全文
posted @ 2020-03-02 22:56 Galaxy_hao 阅读(137) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 "百度百科" 中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大( 一个节点也可以是它自己的祖先 )。” 例如,给定如下二叉搜索树: ro 阅读全文
posted @ 2020-03-02 22:54 Galaxy_hao 阅读(168) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 示例 2: 给定二叉树 [1,2,2,3,3,null, 阅读全文
posted @ 2020-03-01 23:27 Galaxy_hao 阅读(162) 评论(0) 推荐(0) 编辑
摘要:题目 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 示例 2: 给定二叉树 [1,2,2,3,3,null,null,4,4 阅读全文
posted @ 2020-03-01 23:22 Galaxy_hao 阅读(167) 评论(0) 推荐(0) 编辑

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