
LeetCode
TimeFuture2017
这个作者很懒,什么都没留下…
展开
-
351. 安卓系统手势解锁
我们都知道安卓有个手势解锁的界面,是一个3 x 3 的点所绘制出来的网格。给你两个整数,分别为m 和 n,其中 1≤ m≤ n≤ 9,那么请你统计一下有多少种解锁手势,是至少需要经过m个点,但是最多经过不超过n 个点的。先来了解下什么是一个有效的安卓解锁手势:每一个解锁手势必须至少经过m 个点、最多经过n个点。解锁手势里不能设置经过重复的点。假如手势中有两个点是顺序经过的,那么这两个点的手势轨迹之间是绝对不能跨过任何未被经过的点。经过点的顺序不同则表示为不同...原创 2020-05-30 16:29:22 · 1147 阅读 · 0 评论 -
[LeetCode] 搜寻名人
假设你是一个专业的狗仔,参加了一个n人派对,其中每个人被从0到n - 1标号。在这个派对人群当中可能存在一位“名人”。所谓 “名人” 的定义是:其他所有n - 1个人都认识他/她,而他/她并不认识其他任何人。现在你想要确认这个 “名人” 是谁,或者确定这里没有“名人”。而你唯一能做的就是问诸如 “A你好呀,请问你认不认识B呀?”的问题,以确定 A 是否认识 B。你需要在(渐近意义上)尽可能少的问题内来确定这位 “名人” 是谁(或者确定这里没有 “名人”)。在本题中,你可以使...原创 2020-05-29 20:46:29 · 691 阅读 · 1 评论 -
[LeetCode] 翻转字符串里的单词 II
给定一个字符串,逐个翻转字符串中的每个单词。示例:输入: ["t","h","e"," ","s","k","y"," ","i","s"," ","b","l","u","e"]输出: ["b","l","u","e"," ","i","s"," ","s","k","y"," ","t","h","e"]注意:单词的定义是不包含空格的一系列字符 输入字符串中不会包含前置或尾随的空格 单词与单词之间永远是以单个空格隔开的进阶:使用O(1) 额外空间复杂度的原地解法。..原创 2020-05-29 20:45:01 · 161 阅读 · 0 评论 -
[LeetCode] 微软
原创 2020-05-29 20:43:49 · 421 阅读 · 0 评论 -
[LeetCode] 名企面试重点梳理
与其他公司相比,头部互联网公司对面试者的算法水平要求更高,经常出中等及以上难度的题目。不止要求面试者能写出算法,还要求时间复杂度最小,找出最优方式,这就需要我们针对一道题目思考多种解决办法;同时需要注意算法中对异常情况的处理。力扣根据 Top 30 公司的高频面试题,为大家整理了头部互联网公司常考的几类算法和数据结构。除了这些算法外,有的面试官还会临时给一些有规律的数据,让你写出一种算法或给出思路,考验你的逻辑思维能力。想要锻炼算法思维,在学习过程中,需要先掌握一类算法,钻研透了再去掌握另..原创 2020-05-29 20:37:31 · 441 阅读 · 0 评论 -
[LeetCode]技术面试考点汇总
力扣为大家汇总了互联网公司技术面试中经常考察的问题类型。无论你是面试什么岗位,面试官基本都会从以下几个方面全面考察候选人的技术水平。当然,除了这些面试考点以外,你还需要了解目标岗位的其他技术要求,及时查漏补缺,充分备战技术面试。算法和数据结构一直是技术面试的重点和难点。近年来,很多知名企业如谷歌, 脸书等在面试过程中都会有特定的电话面试环节, 专门用来面算法题。这些企业通常会使用在线协同代码编程网站,需要面试者用一小时解决 4 道算法问题,面试官可以实时看到候选人所写的代码。除了远程面试...原创 2020-05-29 20:37:00 · 267 阅读 · 0 评论 -
[堆与栈]会议室 II
给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间[[s1,e1],[s2,e2],...](si< ei),为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。示例 1:输入: [[0, 30],[5, 10],[15, 20]]输出: 2示例 2:输入: [[7,10],[2,4]]输出: 1public class Solution { public int MinMeetingR...原创 2020-05-29 20:36:05 · 176 阅读 · 0 评论 -
LeetCode 2020 名企高频面试题
原创 2020-05-29 20:34:16 · 1224 阅读 · 2 评论 -
[图论]火星词典
现有一种使用字母的全新语言,这门语言的字母顺序与英语顺序不同。假设,您并不知道其中字母之间的先后顺序。但是,会收到词典中获得一个不为空的单词列表。因为是从词典中获得的,所以该单词列表内的单词已经按这门新语言的字母顺序进行了排序。您需要根据这个输入的列表,还原出此语言中已知的字母顺序。示例 1:输入:[ "wrt", "wrf", "er", "ett", "rftt"]输出: "wertf"示例 2:输入:[ "z", "x"]输出...原创 2020-05-29 20:29:42 · 203 阅读 · 0 评论 -
[队列和广度优先搜索]墙与门
你被给定一个m × n的二维网格,网格中有以下三种可能的初始化值:-1表示墙或是障碍物 0表示一扇门 INF无限表示一个空的房间。然后,我们用231- 1 = 2147483647代表INF。你可以认为通往门的距离总是小于2147483647的。你要给每个空房间位上填上该房间到最近门的距离,如果无法到达门,则填INF即可。示例:给定二维网格:INF -1 0 INFINF INF INF -1INF -1 INF -1 0 -1 I...原创 2020-05-27 21:13:18 · 243 阅读 · 0 评论 -
【队列】 数据流中的移动平均值
给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算其所有整数的移动平均值。示例:MovingAverage m = new MovingAverage(3);m.next(1) = 1m.next(10) = (1 + 10) / 2m.next(3) = (1 + 10 + 3) / 3m.next(5) = (10 + 3 + 5) / 3public class MovingAverage { /** Initialize your data structu原创 2020-05-26 22:33:51 · 950 阅读 · 0 评论 -
LeetCode 序列化和反序列化 N 叉树
序列化是指将一个数据结构转化为位序列的过程,因此可以将其存储在文件中或内存缓冲区中,以便稍后在相同或不同的计算机环境中恢复结构。设计一个序列化和反序列化 N 叉树的算法。一个 N 叉树是指每个节点都有不超过 N 个孩子节点的有根树。序列化 / 反序列化算法的算法实现没有限制。你只需要保证 N 叉树可以被序列化为一个字符串并且该字符串可以被反序列化成原树结构即可。例如,你需要序列化下面的3-叉树。为[1 [3[5 6] 2 4]]。你不需要以这种形式完成,你可以自己创造和实现...原创 2020-05-26 21:46:35 · 431 阅读 · 0 评论