LeetCode
文章平均质量分 60
码蹄疾
小米广告平台服务端开发。曾求学于哈尔滨工业大学,小米广告平台第3代引擎开发者,擅长java、计算广告、分布式、并发等多个领域。
展开
-
【Leetcode】119. 杨辉三角 II
题目给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]题解每次更新都分为两步骤:拷贝上一层的,并且在头部加1做加法class Solution { ...原创 2019-05-12 10:45:53 · 292 阅读 · 0 评论 -
【Leetcode】175. 组合两个表
题目表1: Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------------+---------+Perso...原创 2018-10-26 08:40:08 · 324 阅读 · 1 评论 -
【Leetcode】176. 第二高的薪水
题目编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果...原创 2018-10-28 10:01:54 · 261 阅读 · 0 评论 -
【Leetcode】61.旋转链表
作者: 码蹄疾 毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->...原创 2018-09-06 23:41:46 · 229 阅读 · 0 评论 -
【Leetcode】70. 爬楼梯
题目假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 ...原创 2018-09-16 22:15:53 · 237 阅读 · 0 评论 -
【Leetcode】59. 螺旋矩阵 II
题目给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]题解这个题目也比较简单, 和第54题类似: 这个题目很简单,上下左右分别用四个变量去标志:上:top 下:bottom 左:left 右: right...原创 2018-09-03 20:38:59 · 295 阅读 · 0 评论 -
【Leetcode】58. 最后一个单词的长度
题目给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5题解这个题比较水,主要是注意一下前后有空格这种情况。 如下代码用preLong记录截止到当前字符最后一个单词的长度.class ...原创 2018-09-02 09:26:05 · 216 阅读 · 0 评论 -
【Leetcode】56. 合并区间
题目给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为...原创 2018-08-30 09:23:24 · 275 阅读 · 0 评论 -
【Leetcode】54. 螺旋矩阵
题目给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,1...原创 2018-08-25 23:48:22 · 762 阅读 · 0 评论 -
【Leetcode】57. 插入区间
作者: 码蹄疾 毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间...原创 2018-08-31 09:40:28 · 456 阅读 · 0 评论 -
【Leetcode】98. 验证二叉搜索树
题目给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 6输...原创 2019-02-19 09:40:10 · 213 阅读 · 0 评论 -
【Leetcode】95~96 不同的二叉搜索树
Leetcode 95不同的二叉搜索树 II输入: 3输出:[ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ /...原创 2019-02-19 09:40:53 · 217 阅读 · 0 评论 -
【Leetcode】101. 对称二叉树
题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3题解还记得我们上几次说过,二叉树的题目,大多数可以用...原创 2019-02-25 08:36:46 · 162 阅读 · 0 评论 -
【Leetcode】120.三角形最小路径和
题目给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。题解...原创 2019-05-12 10:43:40 · 234 阅读 · 0 评论 -
社招面试总结——算法题篇
面试结果总结下最近的面试:头条后端:3面技术面挂蚂蚁支付宝营销-机器学习平台开发: 技术面通过,年后被通知只有P7的hc蚂蚁中台-机器学习平台开发: 技术面通过, 被蚂蚁HR挂掉(脉脉上好多人遇到这种情况,一个是今年大环境不好,另一个,面试尽量不要赶上阿里财年年底,这算是一点tips吧)快手后端: 拿到offer百度后端: 拿到offer最终拒了百度,去快手了, 一心想去阿里, ...原创 2019-04-08 21:36:54 · 2712 阅读 · 0 评论 -
【Leetcode】105. 从前序与中序遍历序列构造二叉树
题目根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7题解根据前序和中序可以构造一颗二叉树,根据中序和后续也可以构建一颗二叉树。...原创 2019-03-04 20:02:10 · 211 阅读 · 0 评论 -
【Leetcode】103. 二叉树的锯齿形层次遍历
题目给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]题解这道题要求用z字型,就是要...原创 2019-02-27 08:29:13 · 244 阅读 · 0 评论 -
【Leetcode】75.颜色分类
作者: 码蹄疾毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者;负责小米应用商店、日历、开屏广告业务线研发;主导小米广告引擎多个模块重构;关注推荐、搜索、广告领域相关知识;题目给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝...原创 2019-02-21 09:09:30 · 246 阅读 · 0 评论 -
【Leetcode】102. 二叉树的层次遍历
题目给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]题解我们数据结构的书上教的层序遍历,就是利用一个队列,不断的把左子树和右...原创 2019-02-26 08:11:34 · 394 阅读 · 0 评论 -
【Leetcode】106. 从中序与后序遍历序列构造二叉树
题目根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7题解根据前序和中序可以构造一颗二叉树,根据中序和后续也可以构建一颗二叉树。...原创 2019-03-05 09:30:18 · 198 阅读 · 0 评论 -
【Leetcode】100. 相同的树
题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 ...原创 2019-02-20 09:28:50 · 211 阅读 · 0 评论 -
【Leetcode】104. 二叉树的最大深度
题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。题解求最大深度,和深度相关,我们很容易想到用层序遍历。每遍历一层,就深度加1, 怎...原创 2019-03-01 08:50:20 · 180 阅读 · 0 评论 -
【Leetcode】55. 跳跃游戏
题目给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引...原创 2018-08-28 08:58:59 · 441 阅读 · 0 评论 -
【Leetcode】42. 接雨水
题目给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 示例: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6题解这种存水得题目都是在考察双指针。 ...原创 2018-08-06 23:31:44 · 394 阅读 · 0 评论 -
13. 罗马数字转整数
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目罗马数字包含以下七种字符:I, V, X, L,C,D 和 M。字符 数值I 1...原创 2018-06-30 12:51:52 · 909 阅读 · 0 评论 -
4. 两个排序数组的中位数
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(...原创 2018-06-30 12:07:33 · 2935 阅读 · 2 评论 -
7. 反转整数
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店广告平台后端研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、计算广告领域相关知识;题目给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1:输入: 123输出: 321示例 2:输入: -123...原创 2018-06-16 16:47:52 · 567 阅读 · 0 评论 -
8. 字符串转整数 (atoi)
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店广告平台后端研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、计算广告领域相关知识;题目实现 atoi,将字符串转为整数。 在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与...原创 2018-06-16 16:45:44 · 384 阅读 · 0 评论 -
11. 盛最多水的容器
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、计算广告领域相关知识;题目给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。画 n 条垂直线,使得垂直线 i 的两个...原创 2018-06-24 15:29:44 · 581 阅读 · 0 评论 -
10. 正则表达式匹配
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店广告平台后端研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、计算广告领域相关知识;题目给定一个字符串 (s) 和一个字符模式 (p)。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符。 ‘*’...原创 2018-06-24 15:13:10 · 1120 阅读 · 1 评论 -
3. Longest Substring Without Repeating Characters
英文题目Given a string, find the length of the longest substring without repeating characters. Examples:Given “abcabcbb”, the answer is “abc”, which the length is 3.Given “bbbbb”, the answer is “b”...原创 2018-05-27 10:51:06 · 366 阅读 · 0 评论 -
1. Two Sum
英文题目Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the...原创 2018-05-27 10:46:43 · 222 阅读 · 0 评论 -
2. Add Two Numbers
英文题目You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and re...原创 2018-05-27 10:44:14 · 287 阅读 · 0 评论 -
12. 整数转罗马数字
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店广告平台后端研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、计算广告领域相关知识;题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V ...原创 2018-06-25 22:25:44 · 1267 阅读 · 0 评论 -
20. 有效的括号
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用...原创 2018-07-08 10:06:46 · 287 阅读 · 0 评论 -
14. 最长公共前缀
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1:输入: ["flow...原创 2018-07-01 17:35:04 · 264 阅读 · 0 评论 -
24. 两两交换链表中的节点
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回...原创 2018-07-14 07:57:43 · 592 阅读 · 0 评论 -
23. 合并K个排序链表
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5...原创 2018-07-12 22:26:31 · 542 阅读 · 0 评论 -
18. 四数之和
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得...原创 2018-07-05 23:23:19 · 5414 阅读 · 1 评论 -
17. 电话号码的字母组合
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任...原创 2018-07-03 08:15:33 · 1268 阅读 · 1 评论