由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问道题目 Map的iterator
相关主题
请教一道LinkedIn面试的经典题Two problems from Google
又一道linkedin题三连击
谁来解释下hashtable的iterator是怎么实现的hashtable的遍历
贡献Amazon的电面经验解法讨论:(给定一个array和一个target,找出是否存在两个数之和为target)
刷了半天题求原题, 就是一个嵌套HashMap, 可能很深,实现iterator打印
LC的BST iterator到底要考察什么?一道Iterator题
Bloomberg 电面hashmap和hashtable的区别?
hash_map 的遍历问题Apple第一轮电话面试
相关话题的讨论汇总
话题: map话题: iterator话题: getnext话题: 遍历话题: element
进入JobHunting版参与讨论
1 (共1页)
A**u
发帖数: 2458
1
别人的面经
一个嵌套Map, 就是一个HashMap, 它的value可以是一个element也可以是另外一个
嵌套map或是空的map. 实现一个iterator来遍历这个map里面的所有element。 就是类
似树遍历一样的方法
s*****r
发帖数: 43070
2
每遇到一个Map都建一个iterator,用stack保存
A**u
发帖数: 2458
3
大牛 有code没
或者哪里有书
这题看到两次了,都不会

【在 s*****r 的大作中提到】
: 每遇到一个Map都建一个iterator,用stack保存
s*****r
发帖数: 43070
4
code就不写了,大概思路:每次getNext(),用当前Iterator的getNext(),如果是
Element,就返回,如果是Map,就建一个Iterator,push当前的Iterator到stack,用
新的Iterator的getNext(),这里可能有循环。如果getNext()返回为空,放弃当前
Iterator,Pop Stack上面的,用Pop的Iterator的getNext().

【在 A**u 的大作中提到】
: 大牛 有code没
: 或者哪里有书
: 这题看到两次了,都不会

A**u
发帖数: 2458
5
好吧 多谢了

【在 s*****r 的大作中提到】
: code就不写了,大概思路:每次getNext(),用当前Iterator的getNext(),如果是
: Element,就返回,如果是Map,就建一个Iterator,push当前的Iterator到stack,用
: 新的Iterator的getNext(),这里可能有循环。如果getNext()返回为空,放弃当前
: Iterator,Pop Stack上面的,用Pop的Iterator的getNext().

r*****d
发帖数: 346
6
你是不是指一个hashtable H, 它的 pairs中的each value可以是一个
element也可以是另一个hashtable(包括空的),然后要遍历H?

【在 A**u 的大作中提到】
: 别人的面经
: 一个嵌套Map, 就是一个HashMap, 它的value可以是一个element也可以是另外一个
: 嵌套map或是空的map. 实现一个iterator来遍历这个map里面的所有element。 就是类
: 似树遍历一样的方法

y****n
发帖数: 743
7
"就是类似树遍历一样的方法",LZ最后这句话是原题中的,还是自己加的?
这道题至少要想面试官明确:
- 是否有循环?比如:A包含值B,B包含值A。
- 是否有Map是多个其他Map的值。比如:A包含值C,B也包含值C。

【在 A**u 的大作中提到】
: 别人的面经
: 一个嵌套Map, 就是一个HashMap, 它的value可以是一个element也可以是另外一个
: 嵌套map或是空的map. 实现一个iterator来遍历这个map里面的所有element。 就是类
: 似树遍历一样的方法

A**u
发帖数: 2458
8
别人的面经 linkedin那个

【在 y****n 的大作中提到】
: "就是类似树遍历一样的方法",LZ最后这句话是原题中的,还是自己加的?
: 这道题至少要想面试官明确:
: - 是否有循环?比如:A包含值B,B包含值A。
: - 是否有Map是多个其他Map的值。比如:A包含值C,B也包含值C。

w***y
发帖数: 6251
9
ok 这个是不是更general的solution? 就是做成一个iterator的样子,可以支持
hasNext() getNext()
如果只是要遍历,是不是可以写成recursive就行了? 遇到map就继续NestedIterator?

【在 s*****r 的大作中提到】
: code就不写了,大概思路:每次getNext(),用当前Iterator的getNext(),如果是
: Element,就返回,如果是Map,就建一个Iterator,push当前的Iterator到stack,用
: 新的Iterator的getNext(),这里可能有循环。如果getNext()返回为空,放弃当前
: Iterator,Pop Stack上面的,用Pop的Iterator的getNext().

1 (共1页)
进入JobHunting版参与讨论
相关主题
Apple第一轮电话面试刷了半天题
讨论一道题:deep iteratorLC的BST iterator到底要考察什么?
问一下STL里的queue, and stack 遍历的问题Bloomberg 电面
Java 面试关于map 和sethash_map 的遍历问题
请教一道LinkedIn面试的经典题Two problems from Google
又一道linkedin题三连击
谁来解释下hashtable的iterator是怎么实现的hashtable的遍历
贡献Amazon的电面经验解法讨论:(给定一个array和一个target,找出是否存在两个数之和为target)
相关话题的讨论汇总
话题: map话题: iterator话题: getnext话题: 遍历话题: element