由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 面试题总结(2) - Two/Three pointers
相关主题
我的面试题总结贡献一道面试题.
经典递归题需要搞懂非递归算法吗?目前系统的刷题,题目分类化,求咨询。
攒人品,yahoo电面面经平时做项目干工作都是用python,面试用java可以吗?
一道onsite面试题问一道多线程面试题
M家onsite题一道问一个题
请教一道面试题问一到题目
FB Internship 挂在电面第二轮phone interview question
一个面试题 -- restore database请教cracking the code interview两题
相关话题的讨论汇总
话题: 数据结构话题: pointers话题: two话题: 题目话题: 面试题
进入JobHunting版参与讨论
1 (共1页)
p*****2
发帖数: 21240
1
面试题总结(1) - 面试题的构成和分类
首先声明一下,这里的面试题主要所指数据结构和算法的题目,题目的分析集中在
Leetcode上面的题目上。
我认为一道面试题由以下几个方面组成的
Question
Data structure in question
Data structure in solution
Algorithm in solution
Coding
题目:非常关键,一个题目通常有一些相应的变形题目,同一个题目可能有不同的要求
。比如时间复杂度,空间复杂度的要求,比如recursive, iterative的要求。而根据题
目的变形与要求,可能会极大的影响到你能够采取的数据结构和算法。
问题中的数据机构:问题中有可能带数据结构,有可能没有数据结构,有可能是可以自
定义数据结构
解决方案中的数据结构:可以是in-place的,也就是利用已有的数据结构,也可能是创
建新的数据结构。新的数据结构跟已有的数据结构没有必然的联系,而很多问题都是一
题多解,可能采取不同的数据结构。
算法:一般来说,当解决方案中的数据结构确定以后,算法也就确定了。同样,一旦解
决方案的算法确定,相应的数据结构也就确定了。这两个没有先后的关系,但解决方案
中的数据结构和算法具有非常紧密的联系。
代码:非常关键。代码就是解决方案的数据结构和算法的实现了。目前来看,题目,数
据结构和算法在面试中出现的类型比较固定,因此代码的好坏则是拉开面试者水平的一
个有效手段。这也是为什么F,G如此看中代码的质量了。我发现上面几点比较容易突击
,但是写代码的功力还是需要实打实的积累的。
总结面试题目的关键就是要把面试题目进行分类之后分析。由于面试题目由以上几个部
分组成并且混杂在一起,因此怎样合理的分类就变得非常的困难。其实Careercup 150
的分类就比较好,它是这样进行分类的。
数据结构:Arrays and Strings, Linked Lists, Stacks and Queues, Trees and
Graphs
算法:Bit Manipulation, Mathematics and Probability, Recursion and Dynamic
Programming, Sorting and Searching
但是我感觉这样分类比较适合初级阶段学习,并不适合系统地对面试题目进行分析。我
其实目前也没有什么特别好的idea,想跟着感觉先来,可能慢慢就能悟出更多了。
t**********h
发帖数: 2273
2
膜拜,牛逼,收藏
二爷纵欲出手了,我辈幸哉
l*****a
发帖数: 14598
3
你小不是下周就要跟二爷亲切会面了吗?

【在 t**********h 的大作中提到】
: 膜拜,牛逼,收藏
: 二爷纵欲出手了,我辈幸哉

t**********h
发帖数: 2273
4
不敢不敢。是二爷屈尊接见我等

【在 l*****a 的大作中提到】
: 你小不是下周就要跟二爷亲切会面了吗?
o***d
发帖数: 313
5
re, and mark

【在 p*****2 的大作中提到】
: 面试题总结(1) - 面试题的构成和分类
: 首先声明一下,这里的面试题主要所指数据结构和算法的题目,题目的分析集中在
: Leetcode上面的题目上。
: 我认为一道面试题由以下几个方面组成的
: Question
: Data structure in question
: Data structure in solution
: Algorithm in solution
: Coding
: 题目:非常关键,一个题目通常有一些相应的变形题目,同一个题目可能有不同的要求

c********t
发帖数: 5706
6

说得好,好的面试应该对candidate数据结构,算法,coding三个方面分别打分。我等
面试者自然是初学的时候分别下手研究,等高级了就合三为一,融会贯通,和RPG升级
防御,内力,招式打老怪差不多。

【在 p*****2 的大作中提到】
: 面试题总结(1) - 面试题的构成和分类
: 首先声明一下,这里的面试题主要所指数据结构和算法的题目,题目的分析集中在
: Leetcode上面的题目上。
: 我认为一道面试题由以下几个方面组成的
: Question
: Data structure in question
: Data structure in solution
: Algorithm in solution
: Coding
: 题目:非常关键,一个题目通常有一些相应的变形题目,同一个题目可能有不同的要求

l**h
发帖数: 893
7
nice, continue please

【在 p*****2 的大作中提到】
: 面试题总结(1) - 面试题的构成和分类
: 首先声明一下,这里的面试题主要所指数据结构和算法的题目,题目的分析集中在
: Leetcode上面的题目上。
: 我认为一道面试题由以下几个方面组成的
: Question
: Data structure in question
: Data structure in solution
: Algorithm in solution
: Coding
: 题目:非常关键,一个题目通常有一些相应的变形题目,同一个题目可能有不同的要求

b*****n
发帖数: 482
8
mark
w****x
发帖数: 2483
9

一直想问你和二爷究竟是啥关系??

【在 l*****a 的大作中提到】
: 你小不是下周就要跟二爷亲切会面了吗?
p*****2
发帖数: 21240
10

其实是师徒关系。

【在 w****x 的大作中提到】
:
: 一直想问你和二爷究竟是啥关系??

相关主题
请教一道面试题贡献一道面试题.
FB Internship 挂在电面第二轮目前系统的刷题,题目分类化,求咨询。
一个面试题 -- restore database平时做项目干工作都是用python,面试用java可以吗?
进入JobHunting版参与讨论
l*****a
发帖数: 14598
11
我是外地粉丝啊.没你们那么幸运能跟偶像一起吃饭
我只好神往了。。

【在 w****x 的大作中提到】
:
: 一直想问你和二爷究竟是啥关系??

l*********u
发帖数: 19053
12
多谢二爷总结

【在 p*****2 的大作中提到】
:
: 其实是师徒关系。

f*********m
发帖数: 726
13
顶。二爷没在湾区吧?
t**********h
发帖数: 2273
14
你去买瓶五粮液,哥给你带过去。。。

【在 l*****a 的大作中提到】
: 我是外地粉丝啊.没你们那么幸运能跟偶像一起吃饭
: 我只好神往了。。

w****x
发帖数: 2483
15

二爷徒弟遍天下啊

【在 p*****2 的大作中提到】
:
: 其实是师徒关系。

t**********h
发帖数: 2273
16
你跟二爷啥关系?你是女生么?

【在 w****x 的大作中提到】
:
: 二爷徒弟遍天下啊

l*****a
发帖数: 14598
17
谢了。
我看看是不是有机会混一个seattle的onsite再去求见

【在 t**********h 的大作中提到】
: 你去买瓶五粮液,哥给你带过去。。。
p*****2
发帖数: 21240
18

我是徒,他是师呀。lolhaha是论坛第一个帮助我的人。

【在 w****x 的大作中提到】
:
: 二爷徒弟遍天下啊

p*****2
发帖数: 21240
19

没在。湾区大牛太多了,不敢过去呀。

【在 f*********m 的大作中提到】
: 顶。二爷没在湾区吧?
l*******b
发帖数: 2586
20
有机会了也拜一拜,哈哈

【在 p*****2 的大作中提到】
:
: 没在。湾区大牛太多了,不敢过去呀。

相关主题
问一道多线程面试题phone interview question
问一个题请教cracking the code interview两题
问一到题目给一个股票的time series,如何求past N days high?
进入JobHunting版参与讨论
p*****2
发帖数: 21240
21
面试题总结(2) - Two/Three pointers
简称two pointers吧。大概把分类粗略的搞了一遍(http://leetcode.cloudfoundry.com/), 发现利用two pointers解决的题目数量很大。two pointers我指的是一类题,而不一定是真正的two pointers, 比如可能是three pointers, 也可能不是pointer, 而是index。这类题基本上就是发生在array, string, linked list这三种数据结构上,是一种基本的算法和编程技巧,同样超高频率的出现,可以说是面试必遇的题。
two pointers常常和其他的算法混杂起来出现。比如binary search本身也可以归类为
two pointers的。如果这样算的话,Leetcode上边1/4的题目都跟它相关。因此,two
pointers是必须熟练掌握的基本编程技巧。
Two pointers大概分三种类型
1. 两个pointers从头往后走:感觉绝大多数的linked list的题目都涉及到这个操作,
当然还有array。
Implement strStr()
Longest Substring Without Repeating Characters
Minimum Window Substring
Remove Duplicates from Sorted Array & II
Remove Duplicates from Sorted List & II
Remove Element
Remove Nth Node From End of List
Reverse Linked Llist II
Rotate List
Swap Nodes in Pairs
2. 两个pointers从两头往中间走:一般面试出现的的都是singly linked list, 因此
这类题主要是array题。
3Sum
3Sum Closest
4Sum
Container With Most Water
Sort Colors
Trapping Rain Water
Two Sum
Binary search (will discuss it in a separate section)
3. 两个pointers控制两个不同的数组或链表:一般出现在跟merge相关的题目上。
Add Binary
Add Two Numbers
Merge Sorted Array
Merge Two Sorted Lists
Multiply Strings
Partition List
w****x
发帖数: 2483
22
你这个要再开一个帖子
p*****2
发帖数: 21240
23

还要开新的呀。

【在 w****x 的大作中提到】
: 你这个要再开一个帖子
M**u
发帖数: 10158
24
二爷威武!

150

【在 p*****2 的大作中提到】
:
: 还要开新的呀。

j*****n
发帖数: 1545
25
牛翻天啊。。
境界已经到这个地步了,已经完全超越单纯做题了。
w****x
发帖数: 2483
26

版上没人相信我是女的

【在 t**********h 的大作中提到】
: 你跟二爷啥关系?你是女生么?
c*****a
发帖数: 808
27

你换个大爷头像

【在 w****x 的大作中提到】
:
: 版上没人相信我是女的

l**h
发帖数: 893
28
这个好!

【在 p*****2 的大作中提到】
: 面试题总结(2) - Two/Three pointers
: 简称two pointers吧。大概把分类粗略的搞了一遍(http://leetcode.cloudfoundry.com/), 发现利用two pointers解决的题目数量很大。two pointers我指的是一类题,而不一定是真正的two pointers, 比如可能是three pointers, 也可能不是pointer, 而是index。这类题基本上就是发生在array, string, linked list这三种数据结构上,是一种基本的算法和编程技巧,同样超高频率的出现,可以说是面试必遇的题。
: two pointers常常和其他的算法混杂起来出现。比如binary search本身也可以归类为
: two pointers的。如果这样算的话,Leetcode上边1/4的题目都跟它相关。因此,two
: pointers是必须熟练掌握的基本编程技巧。
: Two pointers大概分三种类型
: 1. 两个pointers从头往后走:感觉绝大多数的linked list的题目都涉及到这个操作,
: 当然还有array。
: Implement strStr()
: Longest Substring Without Repeating Characters

w*****t
发帖数: 485
29
赞二爷,替我们拨开层层迷雾!
d******e
发帖数: 164
30
赞啊!

【在 p*****2 的大作中提到】
: 面试题总结(2) - Two/Three pointers
: 简称two pointers吧。大概把分类粗略的搞了一遍(http://leetcode.cloudfoundry.com/), 发现利用two pointers解决的题目数量很大。two pointers我指的是一类题,而不一定是真正的two pointers, 比如可能是three pointers, 也可能不是pointer, 而是index。这类题基本上就是发生在array, string, linked list这三种数据结构上,是一种基本的算法和编程技巧,同样超高频率的出现,可以说是面试必遇的题。
: two pointers常常和其他的算法混杂起来出现。比如binary search本身也可以归类为
: two pointers的。如果这样算的话,Leetcode上边1/4的题目都跟它相关。因此,two
: pointers是必须熟练掌握的基本编程技巧。
: Two pointers大概分三种类型
: 1. 两个pointers从头往后走:感觉绝大多数的linked list的题目都涉及到这个操作,
: 当然还有array。
: Implement strStr()
: Longest Substring Without Repeating Characters

相关主题
【ms面试题】用不均匀的骰子掷出均匀的点数经典递归题需要搞懂非递归算法吗?
贡献两道google面试题攒人品,yahoo电面面经
我的面试题总结一道onsite面试题
进入JobHunting版参与讨论
t**********h
发帖数: 2273
31
内牛满面。。。

【在 p*****2 的大作中提到】
: 面试题总结(2) - Two/Three pointers
: 简称two pointers吧。大概把分类粗略的搞了一遍(http://leetcode.cloudfoundry.com/), 发现利用two pointers解决的题目数量很大。two pointers我指的是一类题,而不一定是真正的two pointers, 比如可能是three pointers, 也可能不是pointer, 而是index。这类题基本上就是发生在array, string, linked list这三种数据结构上,是一种基本的算法和编程技巧,同样超高频率的出现,可以说是面试必遇的题。
: two pointers常常和其他的算法混杂起来出现。比如binary search本身也可以归类为
: two pointers的。如果这样算的话,Leetcode上边1/4的题目都跟它相关。因此,two
: pointers是必须熟练掌握的基本编程技巧。
: Two pointers大概分三种类型
: 1. 两个pointers从头往后走:感觉绝大多数的linked list的题目都涉及到这个操作,
: 当然还有array。
: Implement strStr()
: Longest Substring Without Repeating Characters

e****e
发帖数: 418
32
er ye wei wu!
g********o
发帖数: 132
33
mark~
l**b
发帖数: 457
34
2爷明显把所有的DP题目的难度说太低了。我觉得DP的题目一般都是4这样的,当然,你
用recusrive的做就不是4的难度,但是真的要能做出来DP的,我觉得都要有4的难度。
p*****2
发帖数: 21240
35

我感觉很多DP题都挺简单呀。比如爬楼梯的。

【在 l**b 的大作中提到】
: 2爷明显把所有的DP题目的难度说太低了。我觉得DP的题目一般都是4这样的,当然,你
: 用recusrive的做就不是4的难度,但是真的要能做出来DP的,我觉得都要有4的难度。

M**u
发帖数: 10158
36
。。。DP我觉得一向都很难。。。

,你
度。

【在 p*****2 的大作中提到】
:
: 我感觉很多DP题都挺简单呀。比如爬楼梯的。

p*****2
发帖数: 21240
37

你研究的都是啥DP呀。我看也不敢看。

【在 M**u 的大作中提到】
: 。。。DP我觉得一向都很难。。。
:
: ,你
: 度。

w****x
发帖数: 2483
38

跪求爬楼梯的那题

【在 p*****2 的大作中提到】
:
: 你研究的都是啥DP呀。我看也不敢看。

p*****2
发帖数: 21240
39
面试题总结(3) - Permutation and Combination
基本题,但是非常重要。面试中碰到任何一题一点也不奇怪。PIE, CC150和Leetcode都
不约而同地包含了这类题。把这些题目做熟是必须的。基本上来说这类题的解法都是
DFS,程序的大体框架非常类似,只是根据题目的要求代码稍作修改。当然每道题也有
不同的解法,但是你应该根据自己的喜好把这类题目的解决方案统一化。熟悉了这类题
目以后对于DFS(will be discussed in a separate section) 的理解会非常深刻。基
本上一般的DFS的题目应该没什么问题了。
无论是排列还是组合,这类题都有一个变形,就是要求不能有重复的输出。PIE和CC150
都没有提到相应的解法,大家应该很好的体会一下。如果没有相应的准备,属于面试的
时候比较容易跪的题目。
Permutation
输入没有重复:Permutations, CC150 9.5, PIE Chapter7 Permutations of a String
输入有重复,输出不能有重复:Permutations II
Next Permutation: 经典算法,背吧
Permutation Sequence: 非常有意思的题目
Combination
纯粹的subset
输入没有重复:Subsets, CC150 9.4, PIE Chapter7 Combinations of a String
输入有重复,输出不能有重复:Subsets II
需要满足一定要求的组合
一个元素只能取一次(输入没有重复): Combinations
一个元素可以取多次(输入没有重复): Combination Sum, CC150 9.8
一个元素只能取一次(输入有重复,输出不能有重复): Combination Sum II
Gray Code: 具有subset的序列特点 (考虑CC150 9.4 Solution#2: Combinatorics)
K*****z
发帖数: 32
40
顶个!
相关主题
一道onsite面试题FB Internship 挂在电面第二轮
M家onsite题一道一个面试题 -- restore database
请教一道面试题贡献一道面试题.
进入JobHunting版参与讨论
i**********e
发帖数: 1145
41
http://discuss.leetcode.com/questions/246/climbing-stairs

【在 w****x 的大作中提到】
:
: 跪求爬楼梯的那题

t**********h
发帖数: 2273
42
二爷,你的dp教程准备放在第几课?

【在 p*****2 的大作中提到】
: 面试题总结(3) - Permutation and Combination
: 基本题,但是非常重要。面试中碰到任何一题一点也不奇怪。PIE, CC150和Leetcode都
: 不约而同地包含了这类题。把这些题目做熟是必须的。基本上来说这类题的解法都是
: DFS,程序的大体框架非常类似,只是根据题目的要求代码稍作修改。当然每道题也有
: 不同的解法,但是你应该根据自己的喜好把这类题目的解决方案统一化。熟悉了这类题
: 目以后对于DFS(will be discussed in a separate section) 的理解会非常深刻。基
: 本上一般的DFS的题目应该没什么问题了。
: 无论是排列还是组合,这类题都有一个变形,就是要求不能有重复的输出。PIE和CC150
: 都没有提到相应的解法,大家应该很好的体会一下。如果没有相应的准备,属于面试的
: 时候比较容易跪的题目。

w****x
发帖数: 2483
43
二爷这样写不行啊, 信息量太低, 你得至少出本书啊
t**********h
发帖数: 2273
44
+1
与leetcode一人写一本,或者双剑合璧

【在 w****x 的大作中提到】
: 二爷这样写不行啊, 信息量太低, 你得至少出本书啊
p*****2
发帖数: 21240
45

其实这次主要是为了自己总结。DP的东西貌似以前总结过了呀。

【在 t**********h 的大作中提到】
: 二爷,你的dp教程准备放在第几课?
p*****2
发帖数: 21240
46

嗯。想先总结一下。不写那么多细节先。

【在 w****x 的大作中提到】
: 二爷这样写不行啊, 信息量太低, 你得至少出本书啊
g*******4
发帖数: 155
47
LZ大概打算写几章呢?好让我们跟帖的有个准备啊
p*****2
发帖数: 21240
48

我也没确定。现在就是想到哪里总结到哪里。总结完这一遍再说。我感觉我需要总结的有
binary search
linkedlist
tree

【在 g*******4 的大作中提到】
: LZ大概打算写几章呢?好让我们跟帖的有个准备啊
t**********h
发帖数: 2273
49
请给个dp的连接?谢谢

【在 p*****2 的大作中提到】
:
: 我也没确定。现在就是想到哪里总结到哪里。总结完这一遍再说。我感觉我需要总结的有
: binary search
: linkedlist
: tree

p*****2
发帖数: 21240
50

http://www.mitbbs.com/article_t1/JobHunting/32080531_32080605_1

【在 t**********h 的大作中提到】
: 请给个dp的连接?谢谢
相关主题
目前系统的刷题,题目分类化,求咨询。问一个题
平时做项目干工作都是用python,面试用java可以吗?问一到题目
问一道多线程面试题phone interview question
进入JobHunting版参与讨论
p*****2
发帖数: 21240
51
我整了一个博客,便于纪录和整理。后续的文章会发到博客里边去。
http://blog.sina.com.cn/leetcode
w****x
发帖数: 2483
52

滔滔江水啊!~

【在 p*****2 的大作中提到】
: 我整了一个博客,便于纪录和整理。后续的文章会发到博客里边去。
: http://blog.sina.com.cn/leetcode

p*****2
发帖数: 21240
53
我的算法路 (1)
http://blog.sina.com.cn/s/blog_b9285de20101gwa5.html
给基础差的人看的。里边提到了火鸡,lolhaha和yangcheng.
c***p
发帖数: 221
54
收藏了!!!

【在 p*****2 的大作中提到】
: 我整了一个博客,便于纪录和整理。后续的文章会发到博客里边去。
: http://blog.sina.com.cn/leetcode

p*****2
发帖数: 21240
55

你还在准备面试吗?

【在 c***p 的大作中提到】
: 收藏了!!!
w****x
发帖数: 2483
56

以前看过火鸡的面试之路七步曲,蛮震撼的

【在 p*****2 的大作中提到】
: 我的算法路 (1)
: http://blog.sina.com.cn/s/blog_b9285de20101gwa5.html
: 给基础差的人看的。里边提到了火鸡,lolhaha和yangcheng.

O******2
发帖数: 210
57
同在湾区,遥拜大牛
O******i
发帖数: 269
58
二爷已经修炼的炉火纯青,再度出山就是秒杀李大师的FLG了。
h****e
发帖数: 928
59
赞!二爷还是每一段总结单开一个主题吧,方便查找阅读。
d*********4
发帖数: 409
60
mark mark mark
相关主题
请教cracking the code interview两题贡献两道google面试题
给一个股票的time series,如何求past N days high?我的面试题总结
【ms面试题】用不均匀的骰子掷出均匀的点数经典递归题需要搞懂非递归算法吗?
进入JobHunting版参与讨论
p*****2
发帖数: 21240
61

好吧。下次单开一个。

【在 h****e 的大作中提到】
: 赞!二爷还是每一段总结单开一个主题吧,方便查找阅读。
z*******8
发帖数: 30
62
多谢分享!
k***x
发帖数: 6799
63
绝代双娇

【在 t**********h 的大作中提到】
: +1
: 与leetcode一人写一本,或者双剑合璧

a*****s
发帖数: 1121
64
收藏了,以后打飞机用
a*****s
发帖数: 1121
65
收藏了,以后打飞机用
f*****u
发帖数: 501
66
怎么办 又搞个人崇拜 跟定二爷了 不行 我要去教会 祷告一下 平静一下

【在 p*****2 的大作中提到】
: 面试题总结(1) - 面试题的构成和分类
: 首先声明一下,这里的面试题主要所指数据结构和算法的题目,题目的分析集中在
: Leetcode上面的题目上。
: 我认为一道面试题由以下几个方面组成的
: Question
: Data structure in question
: Data structure in solution
: Algorithm in solution
: Coding
: 题目:非常关键,一个题目通常有一些相应的变形题目,同一个题目可能有不同的要求

1 (共1页)
进入JobHunting版参与讨论
相关主题
请教cracking the code interview两题M家onsite题一道
给一个股票的time series,如何求past N days high?请教一道面试题
【ms面试题】用不均匀的骰子掷出均匀的点数FB Internship 挂在电面第二轮
贡献两道google面试题一个面试题 -- restore database
我的面试题总结贡献一道面试题.
经典递归题需要搞懂非递归算法吗?目前系统的刷题,题目分类化,求咨询。
攒人品,yahoo电面面经平时做项目干工作都是用python,面试用java可以吗?
一道onsite面试题问一道多线程面试题
相关话题的讨论汇总
话题: 数据结构话题: pointers话题: two话题: 题目话题: 面试题