由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - iterator 实现 如何 peek(),pop()?
相关主题
请教 Iterator 一题L家面试题 iterator for nested integer求讨论
问一道题我发现我竟然学会了12种tree traversal的办法
一道Iterator题问个题
Two problems from GoogleScala怎么通过index访问set或者array
面完G的电面了,忐忑问一道C++ template的面试题
新鲜G面经刷了半天题
实现vector的iterator,template问题LC的BST iterator到底要考察什么?
小弟求问LinkedIn那道Deep Iterator的题谁有那个 nested hashmap iteration 的讨论阿?
相关话题的讨论汇总
话题: peek话题: iterator话题: pop话题: println话题: pos
进入JobHunting版参与讨论
1 (共1页)
h*********o
发帖数: 230
1
比如
A={1,2,3,4,5};
peek()=1;
pop()=1;
peek()=2;
pop()=2;
peek()=3;.........
j*****y
发帖数: 1071
2
怎么 定义 peek(), pop() 阿
stack 里面的 pop()吗? peek 和 stack里面的 top()是一样的吗?

【在 h*********o 的大作中提到】
: 比如
: A={1,2,3,4,5};
: peek()=1;
: pop()=1;
: peek()=2;
: pop()=2;
: peek()=3;.........

c*****a
发帖数: 808
3
pop了2, 3不见了?
h*********o
发帖数: 230
4
嗯,看例子应该是跟stack的一样的,
peek()就是top

【在 j*****y 的大作中提到】
: 怎么 定义 peek(), pop() 阿
: stack 里面的 pop()吗? peek 和 stack里面的 top()是一样的吗?

t*********h
发帖数: 941
5
have a tmp variable to next element?

【在 h*********o 的大作中提到】
: 比如
: A={1,2,3,4,5};
: peek()=1;
: pop()=1;
: peek()=2;
: pop()=2;
: peek()=3;.........

j*****y
发帖数: 1071
6
这个 iterator 的 api怎么用呢 ?
似乎像是一个 stack, 但是 stack是没有 iterator的,
可以用一个 vector来存储, vector 可以 push_back 和 pop_back
这两个类似于 stack的 push 和 pop
有点confuse不知道如何call iterator 来 pop 和push
难道是说, 假设有个 iterator it, 我们可以call
it->peek(), it->pop() ?

【在 t*********h 的大作中提到】
: have a tmp variable to next element?
h*********o
发帖数: 230
7
呵呵 typo
改过来了

【在 c*****a 的大作中提到】
: pop了2, 3不见了?
h*********o
发帖数: 230
8
不知道是不是stack啊,给的例子就是这样,
像是数组啥的。。

【在 j*****y 的大作中提到】
: 这个 iterator 的 api怎么用呢 ?
: 似乎像是一个 stack, 但是 stack是没有 iterator的,
: 可以用一个 vector来存储, vector 可以 push_back 和 pop_back
: 这两个类似于 stack的 push 和 pop
: 有点confuse不知道如何call iterator 来 pop 和push
: 难道是说, 假设有个 iterator it, 我们可以call
: it->peek(), it->pop() ?

p*****2
发帖数: 21240
9
class Iterator[T](arr:Array[T]){
private[this] var pos=0
def peek()={
if(pos }

def pop()={
if(pos }

def reset(){
pos=0
}
}
object test2 extends App {
val arr=Array(1,2,3,4,5)
val it=new Iterator(arr)
println(it.peek())
println(it.pop())
println(it.peek())
println(it.pop())
println(it.peek())
println(it.pop())

}
j*****y
发帖数: 1071
10
二爷这个iterator 和 stack 好像是一样的?
class iterator == class stack ?

【在 p*****2 的大作中提到】
: class Iterator[T](arr:Array[T]){
: private[this] var pos=0
: def peek()={
: if(pos: }
:
: def pop()={
: if(pos: }
:

相关主题
新鲜G面经L家面试题 iterator for nested integer求讨论
实现vector的iterator,template问题我发现我竟然学会了12种tree traversal的办法
小弟求问LinkedIn那道Deep Iterator的题问个题
进入JobHunting版参与讨论
p*****2
发帖数: 21240
11

iterator 是immutable的吧?

【在 j*****y 的大作中提到】
: 二爷这个iterator 和 stack 好像是一样的?
: class iterator == class stack ?

j*****y
发帖数: 1071
12
何为 immutable ? sorry :)

【在 p*****2 的大作中提到】
:
: iterator 是immutable的吧?

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

我记得只能iterate不能改变吧

【在 j*****y 的大作中提到】
: 何为 immutable ? sorry :)
j*****y
发帖数: 1071
14
这样的话,你这里的 iterator 也提供了 pop()操作,也是改变了,是吧?

【在 p*****2 的大作中提到】
:
: 我记得只能iterate不能改变吧

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

数组没有被改变。还可以reset

【在 j*****y 的大作中提到】
: 这样的话,你这里的 iterator 也提供了 pop()操作,也是改变了,是吧?
j*****y
发帖数: 1071
16
明白了,你的这个 iterator就是一个没有 push操作的 stack, 是吧?

【在 p*****2 的大作中提到】
:
: 数组没有被改变。还可以reset

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

感觉iterator和stack还不是一回事。
不过这个题目的定义比较confusing
应该是hasNext, next比较好。

【在 j*****y 的大作中提到】
: 明白了,你的这个 iterator就是一个没有 push操作的 stack, 是吧?
c********t
发帖数: 5706
18
同意,这道题里面pop和iterator next 感觉是一样的,没必要实现。
不过你用array来实现,感觉不合题意吧。我觉得extend Iterator,overwrite next
hasNext, remove, add pop and peek methods是正解。

【在 p*****2 的大作中提到】
:
: 感觉iterator和stack还不是一回事。
: 不过这个题目的定义比较confusing
: 应该是hasNext, next比较好。

1 (共1页)
进入JobHunting版参与讨论
相关主题
谁有那个 nested hashmap iteration 的讨论阿?面完G的电面了,忐忑
[google面试]iterator访问新鲜G面经
Google onsite归来实现vector的iterator,template问题
问道G 的题小弟求问LinkedIn那道Deep Iterator的题
请教 Iterator 一题L家面试题 iterator for nested integer求讨论
问一道题我发现我竟然学会了12种tree traversal的办法
一道Iterator题问个题
Two problems from GoogleScala怎么通过index访问set或者array
相关话题的讨论汇总
话题: peek话题: iterator话题: pop话题: println话题: pos