由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 刚才的amazon phone interview 第一轮
相关主题
这个check whether a binary tree is a BST 问题讨论个Binary search tree的题目
判断 bst 疑问急!google 一面。请大侠看看
谷歌 电面也被A电了一下
判断BT是否BST?L家的面试体验让人有些无语
"Hacking a G Interview"怎么有这样低级错?Arista面经
BST面试题题目: iterative binary tree post order traversal
这个check whether a binary tree is a BST or notLowest common ancestor of two nodes of Binary Tree
amazon SDE1算什么职位?还是contractor,是难还是entry level?binary tree的in-order iterator怎么写?
相关话题的讨论汇总
话题: null话题: node话题: return话题: isbst话题: int
进入JobHunting版参与讨论
1 (共1页)
n********u
发帖数: 194
1
真是吐血,除了问我简历上的问题,就是一题判断是不是BST的coding 题目,让我一行
行报给他听。因为我上学期带data structure under的lab,我很熟悉这样的recursive
function。3分钟写出来报给他,他就不理我了,说到此结束。然后问我有什么问题,
于是我问了一个让他也很吐血的问题,我说我要是fail了,得隔多久才能申请,O(∩_
∩)O哈哈~
贴一下我的code,应该是没有大错啊,真是郁闷
boolean isBinaryTree(Node root){
if(root == null) return true;
else if((root.left == null) && (root.right == null))
return true;
else if ((root.value <= root.left.value) && (root.value > root.right.value
))
return (isBinartTree(root.left) && isBinaryTree(root.right));
H*M
发帖数: 1268
2
这个不是讨论过吗
你写的应该是不对的
check this:
3
2 5
1 20

recursive

【在 n********u 的大作中提到】
: 真是吐血,除了问我简历上的问题,就是一题判断是不是BST的coding 题目,让我一行
: 行报给他听。因为我上学期带data structure under的lab,我很熟悉这样的recursive
: function。3分钟写出来报给他,他就不理我了,说到此结束。然后问我有什么问题,
: 于是我问了一个让他也很吐血的问题,我说我要是fail了,得隔多久才能申请,O(∩_
: ∩)O哈哈~
: 贴一下我的code,应该是没有大错啊,真是郁闷
: boolean isBinaryTree(Node root){
: if(root == null) return true;
: else if((root.left == null) && (root.right == null))
: return true;

g*******y
发帖数: 1930
3
你这个code不对啊
r**u
发帖数: 1567
4
你这个问题问的。。。

recursive

【在 n********u 的大作中提到】
: 真是吐血,除了问我简历上的问题,就是一题判断是不是BST的coding 题目,让我一行
: 行报给他听。因为我上学期带data structure under的lab,我很熟悉这样的recursive
: function。3分钟写出来报给他,他就不理我了,说到此结束。然后问我有什么问题,
: 于是我问了一个让他也很吐血的问题,我说我要是fail了,得隔多久才能申请,O(∩_
: ∩)O哈哈~
: 贴一下我的code,应该是没有大错啊,真是郁闷
: boolean isBinaryTree(Node root){
: if(root == null) return true;
: else if((root.left == null) && (root.right == null))
: return true;

n********u
发帖数: 194
5
那应该是怎样呢(⊙o⊙)?
算了,就当练习吧。

【在 g*******y 的大作中提到】
: 你这个code不对啊
g*******y
发帖数: 1930
6
奇怪,一般面试官至少会指出你的错误,然后让你慢慢改正啊。怎么你的面试官直接3
分钟就结束了?是不是楼主表现的有点arrogant?这个是大忌

recursive

【在 n********u 的大作中提到】
: 真是吐血,除了问我简历上的问题,就是一题判断是不是BST的coding 题目,让我一行
: 行报给他听。因为我上学期带data structure under的lab,我很熟悉这样的recursive
: function。3分钟写出来报给他,他就不理我了,说到此结束。然后问我有什么问题,
: 于是我问了一个让他也很吐血的问题,我说我要是fail了,得隔多久才能申请,O(∩_
: ∩)O哈哈~
: 贴一下我的code,应该是没有大错啊,真是郁闷
: boolean isBinaryTree(Node root){
: if(root == null) return true;
: else if((root.left == null) && (root.right == null))
: return true;

n********u
发帖数: 194
7
嘻嘻,他指出了,就刚才谁谁给的那个例子,如果只有一个child呢,于是我很雷人地
在第三个if else加了两个|| 来判断如果只有left child和right child。他也没说什
么啊,我承认code是看着很难看,但是也算是在改正我的错误。唉,所以你看我最后不
是直接问他要是fail了,什么时候能再重投简历来着。

3

【在 g*******y 的大作中提到】
: 奇怪,一般面试官至少会指出你的错误,然后让你慢慢改正啊。怎么你的面试官直接3
: 分钟就结束了?是不是楼主表现的有点arrogant?这个是大忌
:
: recursive

l*******r
发帖数: 511
8
应该是traverse in order,然后看看是不是ascending的对吧

3

【在 g*******y 的大作中提到】
: 奇怪,一般面试官至少会指出你的错误,然后让你慢慢改正啊。怎么你的面试官直接3
: 分钟就结束了?是不是楼主表现的有点arrogant?这个是大忌
:
: recursive

k***e
发帖数: 556
9
seems to be wrong :)

recursive

【在 n********u 的大作中提到】
: 真是吐血,除了问我简历上的问题,就是一题判断是不是BST的coding 题目,让我一行
: 行报给他听。因为我上学期带data structure under的lab,我很熟悉这样的recursive
: function。3分钟写出来报给他,他就不理我了,说到此结束。然后问我有什么问题,
: 于是我问了一个让他也很吐血的问题,我说我要是fail了,得隔多久才能申请,O(∩_
: ∩)O哈哈~
: 贴一下我的code,应该是没有大错啊,真是郁闷
: boolean isBinaryTree(Node root){
: if(root == null) return true;
: else if((root.left == null) && (root.right == null))
: return true;

g*******y
发帖数: 1930
10
不光是只有一个child的问题,还有更严重的问题
move on吧,估计你也是刚开始找工作,以后多练习 :p

【在 n********u 的大作中提到】
: 嘻嘻,他指出了,就刚才谁谁给的那个例子,如果只有一个child呢,于是我很雷人地
: 在第三个if else加了两个|| 来判断如果只有left child和right child。他也没说什
: 么啊,我承认code是看着很难看,但是也算是在改正我的错误。唉,所以你看我最后不
: 是直接问他要是fail了,什么时候能再重投简历来着。
:
: 3

相关主题
BST面试题讨论个Binary search tree的题目
这个check whether a binary tree is a BST or not急!google 一面。请大侠看看
amazon SDE1算什么职位?还是contractor,是难还是entry level?也被A电了一下
进入JobHunting版参与讨论
H*M
发帖数: 1268
11
连我也看出你的傲慢了。。呵呵

【在 n********u 的大作中提到】
: 嘻嘻,他指出了,就刚才谁谁给的那个例子,如果只有一个child呢,于是我很雷人地
: 在第三个if else加了两个|| 来判断如果只有left child和right child。他也没说什
: 么啊,我承认code是看着很难看,但是也算是在改正我的错误。唉,所以你看我最后不
: 是直接问他要是fail了,什么时候能再重投简历来着。
:
: 3

s*****r
发帖数: 773
12
啥问题?

【在 g*******y 的大作中提到】
: 不光是只有一个child的问题,还有更严重的问题
: move on吧,估计你也是刚开始找工作,以后多练习 :p

l*******r
发帖数: 511
13
root的左指数应该都小于root

【在 s*****r 的大作中提到】
: 啥问题?
a******2
发帖数: 393
14
要判断指针为空先?

【在 s*****r 的大作中提到】
: 啥问题?
H*M
发帖数: 1268
15
..
我不是给出个反例了吗?

【在 a******2 的大作中提到】
: 要判断指针为空先?
s*****r
发帖数: 773
16
那就是那个例子的问题吧

【在 l*******r 的大作中提到】
: root的左指数应该都小于root
n********u
发帖数: 194
17
嘻嘻,我不傲慢,我其实很差的,只是一开始他就问我你在某某州读书,但是你resume
上的地址又是另一个州,我就解释,我说我lg在那边,我的确是比较prefer那个州的工
作。但是,但是,你们公司这么大,有offer我肯定来的。
呵呵,继续找,继续学习。

【在 H*M 的大作中提到】
: 连我也看出你的傲慢了。。呵呵
B*****i
发帖数: 831
18
这么说一般公司都不行的,
似乎既不能说出来“有offer我肯定来”这种话,
也不能表达出有其他更优选择的意思。

resume

【在 n********u 的大作中提到】
: 嘻嘻,我不傲慢,我其实很差的,只是一开始他就问我你在某某州读书,但是你resume
: 上的地址又是另一个州,我就解释,我说我lg在那边,我的确是比较prefer那个州的工
: 作。但是,但是,你们公司这么大,有offer我肯定来的。
: 呵呵,继续找,继续学习。

s*****r
发帖数: 773
19
应该说,我就认定你了
跟找媳妇一样的

【在 B*****i 的大作中提到】
: 这么说一般公司都不行的,
: 似乎既不能说出来“有offer我肯定来”这种话,
: 也不能表达出有其他更优选择的意思。
:
: resume

B*****i
发帖数: 831
20
没错,但是我感觉"我认定你"这种气势不能说出来,
得通过言行举止让他们强烈的感觉到,呵呵

【在 s*****r 的大作中提到】
: 应该说,我就认定你了
: 跟找媳妇一样的

相关主题
L家的面试体验让人有些无语Lowest common ancestor of two nodes of Binary Tree
Arista面经binary tree的in-order iterator怎么写?
题目: iterative binary tree post order traversalBinaryTree to DoublyLinkedList
进入JobHunting版参与讨论
H*M
发帖数: 1268
21
你确实有点傲慢。以后注意改改吧

resume

【在 n********u 的大作中提到】
: 嘻嘻,我不傲慢,我其实很差的,只是一开始他就问我你在某某州读书,但是你resume
: 上的地址又是另一个州,我就解释,我说我lg在那边,我的确是比较prefer那个州的工
: 作。但是,但是,你们公司这么大,有offer我肯定来的。
: 呵呵,继续找,继续学习。

z*******y
发帖数: 578
22
这个判定BST的有两个解法,一个就是inorder 一下看看是不是升序的排列
另一个方法是 判断 根节点的值是不是大于左子树的最大值并且小于右子树的最小值,
递归实现。
t*********n
发帖数: 1292
23
除了这两个问题外,还有什么更严重的啊?

【在 g*******y 的大作中提到】
: 不光是只有一个child的问题,还有更严重的问题
: move on吧,估计你也是刚开始找工作,以后多练习 :p

g*******y
发帖数: 1930
24
前面人的回复里面已经说到了

【在 t*********n 的大作中提到】
: 除了这两个问题外,还有什么更严重的啊?
f****b
发帖数: 486
25
这个题出现频率很高,俺的AMZN电面也考了
你狠,居然问最后那个问题

recursive

【在 n********u 的大作中提到】
: 真是吐血,除了问我简历上的问题,就是一题判断是不是BST的coding 题目,让我一行
: 行报给他听。因为我上学期带data structure under的lab,我很熟悉这样的recursive
: function。3分钟写出来报给他,他就不理我了,说到此结束。然后问我有什么问题,
: 于是我问了一个让他也很吐血的问题,我说我要是fail了,得隔多久才能申请,O(∩_
: ∩)O哈哈~
: 贴一下我的code,应该是没有大错啊,真是郁闷
: boolean isBinaryTree(Node root){
: if(root == null) return true;
: else if((root.left == null) && (root.right == null))
: return true;

b******g
发帖数: 1721
26
楼主很开朗啊,我喜欢。
祝你早日找到好工作!
i****h
发帖数: 321
27
大牛,我写了一个,可是指针有问题,能不能帮我看看啊?谢谢。
bool isBST(TreeNode *n, int *max, int *min){
if(n == NULL){
max = NULL;
min = NULL;
return true;
}
int *lmax, *lmin;
int *rmax, *rmin;
bool leftResult = isBST(n->left, lmax, lmin);
bool rightResult = isBST(n->right, rmax, rmin);
if( leftResult && rightResult ){
if(lmax != NULL && n->value < *lmax )
return false;
if(rmin != NULL && n->va

【在 g*******y 的大作中提到】
: 不光是只有一个child的问题,还有更严重的问题
: move on吧,估计你也是刚开始找工作,以后多练习 :p

d****v
发帖数: 458
28
我不是大牛,我是小猪,这个是我写的
主要idea是rightMost不一定是左边的最大值,leftMost不一定是右边的最小值
但是没关系,root和他比就行了。
bool isBST(Node n)
{
if(n == null)
return true;
return isBST(n.left) && (n.left==null || n.value>rightMost(n.left))
&&
isBST(n.right) && (n.right==null || n.value }
int/double rightMost(Node n)
{
if(n==null)
throw exception;
if(n.right==null)
return n.value;
return leftMax(n.right);
}
int/double leftMost(Node n)
{
if(n==null)


【在 i****h 的大作中提到】
: 大牛,我写了一个,可是指针有问题,能不能帮我看看啊?谢谢。
: bool isBST(TreeNode *n, int *max, int *min){
: if(n == NULL){
: max = NULL;
: min = NULL;
: return true;
: }
: int *lmax, *lmin;
: int *rmax, *rmin;
: bool leftResult = isBST(n->left, lmax, lmin);

g*******y
发帖数: 1930
29
< => <=
> => >=
时间性能不好

【在 d****v 的大作中提到】
: 我不是大牛,我是小猪,这个是我写的
: 主要idea是rightMost不一定是左边的最大值,leftMost不一定是右边的最小值
: 但是没关系,root和他比就行了。
: bool isBST(Node n)
: {
: if(n == null)
: return true;
: return isBST(n.left) && (n.left==null || n.value>rightMost(n.left))
: &&
: isBST(n.right) && (n.right==null || n.value
d****v
发帖数: 458
30
怎么improve?还是彻底改成排序看?

【在 g*******y 的大作中提到】
: < => <=
: > => >=
: 时间性能不好

相关主题
一道面试题判断 bst 疑问
bst中序遍历c++ class iterator谷歌 电面
这个check whether a binary tree is a BST 问题判断BT是否BST?
进入JobHunting版参与讨论
n********u
发帖数: 194
31
嗯,昨晚才发现自己犯了一个致命的错误,就是前面有人提出来的,唉,太粗心了,我
知道应该怎么做的,搞得我昨晚睡觉都在做bst的梦。
开朗是假的,都是装出来的,找工作还是挺郁闷的。但是郁闷有什么用,还是要多多学
习,多在失败的interview里面涨经验。
下次碰到这个题目我知道该怎么做了(*^__^*) ……

【在 b******g 的大作中提到】
: 楼主很开朗啊,我喜欢。
: 祝你早日找到好工作!

n********u
发帖数: 194
32
我刚才写了一下,您看看有没有让code更neat一点的方法?
class BinaryTree{
private static class Node{
int value;
Node left;
Node right;

public Node(int value, Node left, Node right){
this.value=value;
this,left=left;
this.right=right;
}
}

private boolean isMax(Node root, Node lf){
if(root.value < lf.value)
return false;
else{
if ((lf.left == null)&&(lf.right == null))
return true;
else if ((lf.left == null) && (lf.right != null))


【在 z*******y 的大作中提到】
: 这个判定BST的有两个解法,一个就是inorder 一下看看是不是升序的排列
: 另一个方法是 判断 根节点的值是不是大于左子树的最大值并且小于右子树的最小值,
: 递归实现。

d****v
发帖数: 458
33
完全没看我写的啊
不是说了么比较rightMost和leftMost就行,不用找左右最大和最小的
就那个还有牛人说复杂呢

【在 n********u 的大作中提到】
: 我刚才写了一下,您看看有没有让code更neat一点的方法?
: class BinaryTree{
: private static class Node{
: int value;
: Node left;
: Node right;
:
: public Node(int value, Node left, Node right){
: this.value=value;
: this,left=left;

m******9
发帖数: 968
34
你去看看这个把,上面有答案
http://cslibrary.stanford.edu/110/BinaryTrees.html#s2
1 (共1页)
进入JobHunting版参与讨论
相关主题
binary tree的in-order iterator怎么写?"Hacking a G Interview"怎么有这样低级错?
BinaryTree to DoublyLinkedListBST面试题
一道面试题这个check whether a binary tree is a BST or not
bst中序遍历c++ class iteratoramazon SDE1算什么职位?还是contractor,是难还是entry level?
这个check whether a binary tree is a BST 问题讨论个Binary search tree的题目
判断 bst 疑问急!google 一面。请大侠看看
谷歌 电面也被A电了一下
判断BT是否BST?L家的面试体验让人有些无语
相关话题的讨论汇总
话题: null话题: node话题: return话题: isbst话题: int