由买买提看人间百态

topics

全部话题 - 话题: iteration
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
P*******r
发帖数: 210
1
来自主题: JobHunting版 - 小弟求问LinkedIn那道Deep Iterator的题
这道题目好像有好几个版本,你确认可以直接拿ArrayList的Iterator吗?
好像见过一个Generic的 linked list,每个Node 有 down 和 next.
不过基本上用到Stack是必须的。

0,
p*u
发帖数: 136
2
来自主题: JobHunting版 - 小弟求问LinkedIn那道Deep Iterator的题
电面写的这段代码,过了。
class Collection
{
public:
T next() {

if (_type == 0)
{
if (_index == 0)
{
_index++;
return _value
}
else
{
throw Exception;
}
}
else
{
while (_index < buckets.size())
{
if (_buckets[_index].hasN... 阅读全帖
D*T
发帖数: 75
3
来自主题: JobHunting版 - 小弟求问LinkedIn那道Deep Iterator的题
想了一下,这个问题好像不是那么容易。楼主的code如果末尾有个空的List会出错。我
不太懂C++所以pdu的只是半懂,不过感觉我的想法和ta估计差不多。moridin的code很
神奇,我实在看不太懂。
下面是我的code,搞ArrayList还成,搞LinkedList可能就惨了。另外remove好像是ok
的。
import java.util.*;
class ArrayPosition {
ArrayList array;
int index;
ArrayPosition(ArrayList array) {
this.array = array;
index = 0;
}
Object peekItem() {
return array.get(index);
}
Object takeItem() {
return array.get(index++);
}
}
public class DeepIteratorII implements ... 阅读全帖
x**********g
发帖数: 91
4
来自主题: JobHunting版 - 小弟求问LinkedIn那道Deep Iterator的题
这个有没有大牛贴个c++版本的啊,
多谢多谢,大概意思理解了,只是c++里怎么表示那个object的iterator?
m**********g
发帖数: 153
5
把pre-order iterative traversal 改造了一下, 添加了 vector
nodePath; 作为path stack. 楼主看看是不是可以?
class Solution {
public:
void preorderTraversal(TreeNode *root) {
stack st;
vector nodePath;

if(root == NULL)
return;

st.push(root);

while(st.size()) {
TreeNode *tmp = st.top();

st.pop();

//leaf node, print the path from root to leaf
... 阅读全帖
h**o
发帖数: 548
6
原来是这样.自己造不出这个path stack来.学习了.

把pre-order iterative traversal 改造了一下, 添加了 vector
nodePath; 作为path stack. 楼主看看是不是可以?
class Solution {
public:
void preorderTraversal(TreeNode *root) {
stack st;
vector nodePath;

if(root == NULL)
return;

st.push(root);

while(st.size()) {
TreeNode *tmp = st.top();

st.pop();

//leaf node, pri... 阅读全帖
d********e
发帖数: 239
7
来自主题: JobHunting版 - 请教iterative merge sort list的代码
leedcode上的题目sort list
space要求O(1)
找了半天,都是recursive的方法
请哪个大牛能贴一个iterative的代码吧
谢谢
s**x
发帖数: 7506
8
来自主题: JobHunting版 - 请教 Iterator 一题
有个地方是如何判断 end of iterator, 感觉是只能用 exception handling.
z******g
发帖数: 271
9
C路过
But if I were to do it, I would make the iterator data structure contain the
bucket size, a bucket cursor and a reference to the underlying linked list
node. The worst case time complexity would be O(m + n) where m is the bucket
size.
w**z
发帖数: 8232
10
HashMap 本来就不适合 iterate
x******e
发帖数: 18
11
来自主题: JobHunting版 - 面试用不用iterator(C++)
请问如果面试用C++,是应该多用iterator还是少用?当过面试官的同学有啥意见?
z******g
发帖数: 271
12
你这样做意义不大,要么就写java,要么就写cpp自己的iterator
t*****a
发帖数: 106
13
好吧。这种iterator的题还是很坑C++用户的,基本上得自己定义类型定义structure从
头开始写。
w****a
发帖数: 710
14
G家最喜欢考iterator了
t*****a
发帖数: 106
15
感觉有些iterator的题C++基本就没法弄。。。写出来太复杂了,正发愁呢。
w****a
发帖数: 710
16
其实我觉得绝大部分的iterator题用C++写也无压力啊。
nested那个是有点难办。其他的还好。
t*****a
发帖数: 106
17
nested那个非要写就用一个pair, 第一个存iterator,第二个存end的标识别。把pair压
入stack
递归调用
t*****a
发帖数: 106
18
兄台有空给大家写个例子吧。nest多了我实在想不出好办法,每层都要存一个
collection的end标识,太麻烦了。各种nested vector, map, list. 假如有10层,存
10个iterator还得存10个end的标识,太麻烦。
s******8
发帖数: 4192
19
第二题根据实际需求实现方法差别极大。内存要求,访问要求,指针长度,是否共享子
iterator,node类型等等细节决定实现。不知道细节要求,都是空中楼阁,白说。
w****a
发帖数: 710
t*****a
发帖数: 106
21
来自主题: JobHunting版 - 店面C++ file iterator,跪了
店面,让写file iterator, next, hasnext. 我说我用C++写,然后写了一点,面试官
说next, hasnext是JAVA的,你要用C++就得实现itr++,itr--, begin,end. WTF, C++
coding量double了不说,还要实现itr--和end... 难不成我把文件先读进来,或者记下
行数重头读?--两次我还不得重读两次? 想了两分钟直接说不会,爱咋咋地吧。Java
实现next, hasnext, 用C++就变成++,--, begin, end. vector, list也就算了,文件
还要指针--。坑。。。求指点。
r****7
发帖数: 2282
22
来自主题: JobHunting版 - 店面C++ file iterator,跪了
是iterate多个文件,还是一个stream读一个文件啊?

+
Java
T******7
发帖数: 1419
23
recursive 可能 会爆stack?
iterative费内存?
h**********c
发帖数: 4120
24
in addition:
recursive compact, readable;
iterative, three nested loops; ijk noodles;
z***y
发帖数: 73
25
recursive消耗栈空间,同时函数调用有上下文切换的消耗。
iterative效率比recursive高,但是代码可能就没有recursive清晰明了。
l*****n
发帖数: 246
26
为啥要把iterator排序?直接存int到heap里面不行吗?
k******i
发帖数: 11
27
也可以, 自己拿hashmap或者建立一个 int->Iterator的mapping能够提供O(1)lookup
就可以了。然后注意处理一下duplicate value的情况就OK了。
t*****3
发帖数: 112
28
我的做法是在constructor初始化的时候直接转为一个iterator,反正不能修改。另外
整个可以看成树,只有叶子节点有整数,所以用什么遍历其实都无所谓,最后都是中序
l******9
发帖数: 26
29
I used the stack Stack>
http://ideone.com/CIl8uy
b*****n
发帖数: 618
30
来自主题: JobHunting版 - LC的BST iterator到底要考察什么?
可以用stack,参考LC的iterative traversal的方法
A*******e
发帖数: 2419
31
来自主题: JobHunting版 - LC的BST iterator到底要考察什么?
这个真有点屠龙之技的意思,不如直接问stl map的iterator,那个还实用些。BST没必
要省略父指针。这点内存节省和多出的编程开销比,其实不划算。
w******5
发帖数: 7
32
来自主题: JobHunting版 - LC的BST iterator到底要考察什么?
这个题和iterative遍历树差不多,应该是考察stack的使用吧。

O(
y****z
发帖数: 52
33
来自主题: JobHunting版 - LC的BST iterator到底要考察什么?

不需要父节点
这题考的其实是stack +遍历
iterator的用处是不需要知道全部节点就能尽快返回下一个节点
或者你假设一个bst有一亿个节点 如果全部遍历估计要几个小时
用stack可以尽快取出一个节点 如果遍历到null了就要adjust 然后又发现新的节点
这题很简单的
d******o
发帖数: 13
34
来自主题: JobHunting版 - 求指点一道G家Iterator的题目
Stack + 递归
之前面Twitter也被问到过,但是迷迷糊糊没想清楚。。。
需要一个 helper class: Pair(NestedList list, int position) 定义当前所在的位
置.
Iterator 需要实现 hasNext() 和 next()
hasNext 检查还有没有值,检查栈顶的Pair,如果当前所指的是Node,直接输出 true
即可。如果是List,就new 一个 Pair(curList, 0), push到stack上。然后递归的
call hasNext 进行检查。如果 栈顶的position 已经超出 当前list 的范围,说明已
经遍历完当前list, pop 掉当前元素,然后对新的栈顶元素(如果有的话)的
position + 1, 之后同样 递归的 call hasNext 继续进行检查。
至于next,上面的 hasNext 保证了 如果还有值,会让栈顶的Pair指到一个Node,所以
直接输出即可,并将 position + 1.
d******o
发帖数: 13
35
来自主题: JobHunting版 - 求指点一道G家Iterator的题目
Stack + 递归
stack中存储的是iterate 时,当前所处的 List 及 position,可能指向的是Node,可
能是List,可能当前的position == list.size() 也可能 stack 已为空。
分别对以上情况做处理即可。
S********t
发帖数: 3431
36
来自主题: JobHunting版 - 求指点一道G家Iterator的题目
list个毛线,直接说nary tree嘛。
tree怎么做iterator不是基础知识吗?
g*****i
发帖数: 91
g*****i
发帖数: 91
d******o
发帖数: 13
39
来自主题: JobHunting版 - 求指点一道G家Iterator的题目
Stack + 递归
之前面Twitter也被问到过,但是迷迷糊糊没想清楚。。。
需要一个 helper class: Pair(NestedList list, int position) 定义当前所在的位
置.
Iterator 需要实现 hasNext() 和 next()
hasNext 检查还有没有值,检查栈顶的Pair,如果当前所指的是Node,直接输出 true
即可。如果是List,就new 一个 Pair(curList, 0), push到stack上。然后递归的
call hasNext 进行检查。如果 栈顶的position 已经超出 当前list 的范围,说明已
经遍历完当前list, pop 掉当前元素,然后对新的栈顶元素(如果有的话)的
position + 1, 之后同样 递归的 call hasNext 继续进行检查。
至于next,上面的 hasNext 保证了 如果还有值,会让栈顶的Pair指到一个Node,所以
直接输出即可,并将 position + 1.
d******o
发帖数: 13
40
来自主题: JobHunting版 - 求指点一道G家Iterator的题目
Stack + 递归
stack中存储的是iterate 时,当前所处的 List 及 position,可能指向的是Node,可
能是List,可能当前的position == list.size() 也可能 stack 已为空。
分别对以上情况做处理即可。
S********t
发帖数: 3431
41
来自主题: JobHunting版 - 求指点一道G家Iterator的题目
list个毛线,直接说nary tree嘛。
tree怎么做iterator不是基础知识吗?
g*****i
发帖数: 91
g*****i
发帖数: 91
a******f
发帖数: 9
44
来自主题: JobHunting版 - 求指点一道G家Iterator的题目
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
class NestedInteger {
public:
NestedInteger(int i) : integer(i), isInt(true) {}
NestedInteger(vector l) : nestedList(l), isInt(false) {}

// Return true if this NestedInteger holds a single integer, rather than
a nested list.
bool isInteger() {
return isInt;
}

// R... 阅读全帖
z**********g
发帖数: 209
45
来自主题: CS版 - 请教how to implement iterator
Implement an Array iterator.
请问这个题应该怎么写code的哪,完全没有思路。
谢谢
p***p
发帖数: 559
46
Iterator,Hashmap,linkedlist这些。我觉得如何使用,效率高低
等等很多看经验。哪里有比较实用精要的文章和例子可以看一看,或者
哪位稍微讲讲。
S*******s
发帖数: 13043
47
来自主题: Programming版 - iterator and [], which is faster?
if my program will access every member in a vector sequentially and frequantly
, which would be faster, iterator or []?
P*****x
发帖数: 72
48
来自主题: Programming版 - iterator and [], which is faster?
Indexing should be slower than iterator ba.

frequantly
c*****e
发帖数: 38
49
来自主题: Programming版 - iterator and [], which is faster?
vector: approx. the same
map: iterator

frequantly
e*a
发帖数: 32
50
来自主题: Programming版 - c++ iterator 弱问
r u trying to change your "iter" in a "const" method?
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)