y*e
2 楼
L家最爱考的面试题之一就是nested integer了,
还爱考各种iterator的implementation
这题是把两个最爱合在一起了。。。。感觉很有可能出,但网上没找到满意的答案.
题目是这样的
eg: {{1,2},3,{4,{5,6}}}
不断调用iterator的next()返回的序列是 1 2 3 4 5 6
这个data structure的interface是这样的
public interface Data {
// Does this Data hold a collection?
public boolean isCollection();
// Returns the collection contained by this Data, or null if it is a
single element
public Collection> getCollection();
// Returns the single element contained by this Data, or null if it is a
collection
public T getElement();
}
我的思路把iterator放在一个stack里,有点像Preorder traversal,如果是element就
存进一个暂时的variable store里,call next的时候就return这个,如果是
isCollection的话,就再push stack里。但我对什么时候pop有点糊涂,其实我很怕用
generic type写东西,特别抽象,只好自己脑补成一个list
下面是我的solution,还请大家给点建议
public class iterator_nestedmap{
private Stack>> stack;
private T store;
public iterator_nestedmap(Collection> collection){
stack = new Stack>>();
stack.push(collection.iterator());
}
public boolean hasNext(){
if(store != null){
return true;
}
while(!stack.isEmpty()){
Iterator> iter = stack.peek();
if(!iter.hasNext()){
stack.pop();
continue;
}
Data element = iter.next();
if(element.isCollection()){
Collection> col = element.getCollection();
stack.push(col.iterator());
}
else{
store = element.getElement();
return true;
}
}
return false;
}
public T next(){
T result = null;
if(hasNext() || store != null){
result = store;
store = null;
return result;
}
return null;
}
}
还爱考各种iterator的implementation
这题是把两个最爱合在一起了。。。。感觉很有可能出,但网上没找到满意的答案.
题目是这样的
eg: {{1,2},3,{4,{5,6}}}
不断调用iterator的next()返回的序列是 1 2 3 4 5 6
这个data structure的interface是这样的
public interface Data
// Does this Data hold a collection?
public boolean isCollection();
// Returns the collection contained by this Data, or null if it is a
single element
public Collection> getCollection();
// Returns the single element contained by this Data, or null if it is a
collection
public T getElement();
}
我的思路把iterator放在一个stack里,有点像Preorder traversal,如果是element就
存进一个暂时的variable store里,call next的时候就return这个,如果是
isCollection的话,就再push stack里。但我对什么时候pop有点糊涂,其实我很怕用
generic type写东西,特别抽象,只好自己脑补成一个list
下面是我的solution,还请大家给点建议
public class iterator_nestedmap
private Stack
private T store;
public iterator_nestedmap(Collection> collection){
stack = new Stack
stack.push(collection.iterator());
}
public boolean hasNext(){
if(store != null){
return true;
}
while(!stack.isEmpty()){
Iterator> iter = stack.peek();
if(!iter.hasNext()){
stack.pop();
continue;
}
Data
if(element.isCollection()){
Collection> col = element.getCollection();
stack.push(col.iterator());
}
else{
store = element.getElement();
return true;
}
}
return false;
}
public T next(){
T result = null;
if(hasNext() || store != null){
result = store;
store = null;
return result;
}
return null;
}
}
k*5
3 楼
短期趋势1 概率70%:
SP跌破颈线有一个回测颈线1040的可能,现在市场超卖,抢反弹的气氛比较浓,下周数
据不是很多,使得买方相对较强。
如果SP反弹到104x,会遇到空方阻力跌回。
操作:买多,在1040抛掉。观察1040阻力情况,再做空。
短期趋势2 概率30%:
MM考虑到趋势1的可能,因此不给小牛牛赚钱的机会,直接向下砸盘,围歼抢反弹的小
牛牛。SP直接奔向1000。这时,小熊熊也不敢做空,因为担心反弹,小牛牛会忙着割肉
,MM将以较小的代价打到1000。
操作:观望等待1000做多。如果跌破1000,那么我们真的会见800-900头肩顶目标了。
中长期趋势,等待市场探底后,会有一个大的上涨,现在的货币政策调整是为这次上涨
的在做准备,就等市场探底后启动。
SP跌破颈线有一个回测颈线1040的可能,现在市场超卖,抢反弹的气氛比较浓,下周数
据不是很多,使得买方相对较强。
如果SP反弹到104x,会遇到空方阻力跌回。
操作:买多,在1040抛掉。观察1040阻力情况,再做空。
短期趋势2 概率30%:
MM考虑到趋势1的可能,因此不给小牛牛赚钱的机会,直接向下砸盘,围歼抢反弹的小
牛牛。SP直接奔向1000。这时,小熊熊也不敢做空,因为担心反弹,小牛牛会忙着割肉
,MM将以较小的代价打到1000。
操作:观望等待1000做多。如果跌破1000,那么我们真的会见800-900头肩顶目标了。
中长期趋势,等待市场探底后,会有一个大的上涨,现在的货币政策调整是为这次上涨
的在做准备,就等市场探底后启动。
t*3
5 楼
我的做法是在constructor初始化的时候直接转为一个iterator,反正不能修改。另外
整个可以看成树,只有叶子节点有整数,所以用什么遍历其实都无所谓,最后都是中序
。
整个可以看成树,只有叶子节点有整数,所以用什么遍历其实都无所谓,最后都是中序
。
l*u
6 楼
不错的贴。。。
l*9
8 楼
I used the stack Stack>
http://ideone.com/CIl8uy
http://ideone.com/CIl8uy
m*s
9 楼
顶一个
A*0
10 楼
http://www.fatwallet.com/best-laptop-deals/acer-aspire-24/
【在 Z*L 的大作中提到】
: where is the link...
【在 Z*L 的大作中提到】
: where is the link...
q*c
11 楼
stack 不是更简单?每次看顶,单个就 pop, 多个就展开反着 push, 继续循环
处理第一个直到碰见单个。
【在 l******9 的大作中提到】
: I used the stack Stack>
: http://ideone.com/CIl8uy
处理第一个直到碰见单个。
【在 l******9 的大作中提到】
: I used the stack Stack
: http://ideone.com/CIl8uy
d*x
12 楼
顶
b*y
14 楼
定
t*1
15 楼
这个hot吗?到处都有货啊
g8
16 楼
good
k*5
18 楼
晕倒,Future直接崩了。市场恐慌?!
【在 k**********5 的大作中提到】
: 短期趋势1 概率70%:
: SP跌破颈线有一个回测颈线1040的可能,现在市场超卖,抢反弹的气氛比较浓,下周数
: 据不是很多,使得买方相对较强。
: 如果SP反弹到104x,会遇到空方阻力跌回。
: 操作:买多,在1040抛掉。观察1040阻力情况,再做空。
: 短期趋势2 概率30%:
: MM考虑到趋势1的可能,因此不给小牛牛赚钱的机会,直接向下砸盘,围歼抢反弹的小
: 牛牛。SP直接奔向1000。这时,小熊熊也不敢做空,因为担心反弹,小牛牛会忙着割肉
: ,MM将以较小的代价打到1000。
: 操作:观望等待1000做多。如果跌破1000,那么我们真的会见800-900头肩顶目标了。
【在 k**********5 的大作中提到】
: 短期趋势1 概率70%:
: SP跌破颈线有一个回测颈线1040的可能,现在市场超卖,抢反弹的气氛比较浓,下周数
: 据不是很多,使得买方相对较强。
: 如果SP反弹到104x,会遇到空方阻力跌回。
: 操作:买多,在1040抛掉。观察1040阻力情况,再做空。
: 短期趋势2 概率30%:
: MM考虑到趋势1的可能,因此不给小牛牛赚钱的机会,直接向下砸盘,围歼抢反弹的小
: 牛牛。SP直接奔向1000。这时,小熊熊也不敢做空,因为担心反弹,小牛牛会忙着割肉
: ,MM将以较小的代价打到1000。
: 操作:观望等待1000做多。如果跌破1000,那么我们真的会见800-900头肩顶目标了。
c*n
19 楼
免税州的菜
相关阅读
有没有赌LDK 和 DRYS ER的?花街太没有人性了快断了:)囧囧:请大家掐死我吧!再来一波强悍的图片! (转载)日本人还是有些很不错的短期市场行为不可知:新西兰和日本地震后It's time to surge now中国基建材料股因日本地震苍井空地震后发微博保平安 称仍有余震威胁(ZZ)铀近期是不能碰了苹果真好吃啊California Muni Bond ETF (CXA)兄弟姐妹们 不要忘记爱爱鸡啊MM和太阳能是不是有仇啊?请问一个做空报税的问题韩国人比日本人恶心多了难道是报复性反弹来了?optionhouse怎么样啊?是不是大家都有BIDU,SOHU和SINA啊?还是要祝福日本朋友们的