Redian新闻
>
S3想刷机 用什么软件把整机包括软件之类的东西备份一下啊
avatar
S3想刷机 用什么软件把整机包括软件之类的东西备份一下啊# PDA - 掌中宝
d*w
1
给出一个二维vector,实现 flatten类
class flatten implements iterator{
public flatten(vector> a);
boolean hasNext();
iterator next();
}
可以用size求出所有的元素多少,但好像也不必,还要考虑到一些特殊case,比如里面
的vector大小为空。大家能写个bug free很简洁的么,谢谢
avatar
g*a
2
谢谢
avatar
p*2
3
两个变量是不是就行了?
avatar
j*z
4
titanium backup

【在 g*******a 的大作中提到】
: 谢谢
avatar
B*1
5
onsite?
avatar
d*r
6
rom manager.
avatar
w*x
7
世界很小啊....
avatar
S*s
8
豌豆荚
顺便问一下titanium 批量恢复的时候可以不每个app都确认一次吗?
avatar
w*x
9
是不是x,y两个变量, x代表第几个vector, y代表这个vector下的第几个元素??
avatar
r*8
10
新的TBpro可以把app+data做成一个zip, 刷机的时候直接刷那个zip就搞定了

【在 S*******s 的大作中提到】
: 豌豆荚
: 顺便问一下titanium 批量恢复的时候可以不每个app都确认一次吗?

avatar
p*2
11

对呀。我觉得这样就行了。感觉不难呀。

【在 w****x 的大作中提到】
: 是不是x,y两个变量, x代表第几个vector, y代表这个vector下的第几个元素??
avatar
y*h
12
小心你的S3变砖!
avatar
D*g
13
我的java 版本,欢迎指正
public static class Flattener {
final List> _vv;
int _curList = 0;
int _curOffset = 0;
public Flattener(final List> vv) {
if (vv == null) {
throw new IllegalArgumentException();
}
_vv = new ArrayList>();
for (int i = 0; i < vv.size(); ++i) {
if (vv.get(i) == null || vv.get(i).size() == 0) {
continue;
}
_vv.add(vv.get(i));
}
}

boolean hasNext() {
return !(_curList >= _vv.size());
}

int next () {
if (_curList >= _vv.size()) {
return -1; // Or throw
}

assert(_vv.get(_curList).size() > _curOffset);
int cpCurOffset = _curOffset;
int cpCurList = _curList;
_curOffset ++;
if (_curOffset >= _vv.get(_curList).size()) {
_curList++;
_curOffset = 0;
}
return _vv.get(cpCurList).get(cpCurOffset);
}
}

static void testFlattener() {
List> vv = new ArrayList>();
vv.add(null);
vv.add(new ArrayList());
Flattener f = new Flattener(vv);
if (!f.hasNext()) {
System.out.println("Flattener doesn't have next.");
}

vv.add(Arrays.asList(1, 2, 3));
vv.add(Arrays.asList(4, 5, 6));
f = new Flattener(vv);
while (f.hasNext()) {
System.out.println(f.next());
}

}

【在 d********w 的大作中提到】
: 给出一个二维vector,实现 flatten类
: class flatten implements iterator{
: public flatten(vector> a);
: boolean hasNext();
: iterator next();
: }
: 可以用size求出所有的元素多少,但好像也不必,还要考虑到一些特殊case,比如里面
: 的vector大小为空。大家能写个bug free很简洁的么,谢谢

avatar
z*g
14
en, 好像很多rom都提示不要用titanium 恢复备份。
俺一直用rom toolbox pro, 还没有出现过问题。
俺刷的是最新的 clean rom 5.5.1 on verizon gs3.

【在 y***h 的大作中提到】
: 小心你的S3变砖!
avatar
l*a
15
why?
if (vv == null) {
throw new IllegalArgumentException();
}

【在 D********g 的大作中提到】
: 我的java 版本,欢迎指正
: public static class Flattener {
: final List> _vv;
: int _curList = 0;
: int _curOffset = 0;
: public Flattener(final List> vv) {
: if (vv == null) {
: throw new IllegalArgumentException();
: }
: _vv = new ArrayList>();

avatar
d*w
16
面试官说不让这么用,可以用到vector的iterator

【在 p*****2 的大作中提到】
:
: 对呀。我觉得这样就行了。感觉不难呀。

avatar
p*2
17

从来没用过vector,学习一下。

【在 d********w 的大作中提到】
: 面试官说不让这么用,可以用到vector的iterator
avatar
p*2
18

定义两个Iterator是不是就行了?

【在 d********w 的大作中提到】
: 面试官说不让这么用,可以用到vector的iterator
avatar
l*a
19
这题到底想考察什么?

【在 p*****2 的大作中提到】
:
: 定义两个Iterator是不是就行了?

avatar
p*2
20

不清楚。我Java也不熟。定义两个iterator跟定义x,y差不多把。

【在 l*****a 的大作中提到】
: 这题到底想考察什么?
avatar
l*a
21
估计就是看你对iterator/enumerator的理解/实现吧

【在 p*****2 的大作中提到】
:
: 不清楚。我Java也不熟。定义两个iterator跟定义x,y差不多把。

avatar
p*2
22

还真是。刚才查了一下,说vector不支持iterator, 还是enumeration, 所以就是考察
从enumeratoion 转到iterator?

【在 l*****a 的大作中提到】
: 估计就是看你对iterator/enumerator的理解/实现吧
avatar
l*a
23
wait, vector is from C++/STL,it should support iterator
IEnumerable/Enumerator are from C#..

【在 p*****2 的大作中提到】
:
: 还真是。刚才查了一下,说vector不支持iterator, 还是enumeration, 所以就是考察
: 从enumeratoion 转到iterator?

avatar
p*2
24

我以为这是java题,要是C++的就算了,我不懂STL。

【在 l*****a 的大作中提到】
: wait, vector is from C++/STL,it should support iterator
: IEnumerable/Enumerator are from C#..

avatar
d*w
25
是java题呀,我看了
http://www.java-examples.com/iterate-through-elements-java-vect
vector有iterator呀
Iterator itr = v.iterator();

//use hasNext() and next() methods of Iterator to iterate through the
elements
System.out.println("Iterating through Vector elements...");
while(itr.hasNext())
System.out.println(itr.next());

}

【在 p*****2 的大作中提到】
:
: 我以为这是java题,要是C++的就算了,我不懂STL。

avatar
d*w
26
是的,写出来看看么,
在next时候
如果
v[0]: 2
v[1]: 0
v[2]: 0
v[3]: 1
v[4]: 0
要跳过一些空的vector

【在 p*****2 的大作中提到】
:
: 我以为这是java题,要是C++的就算了,我不懂STL。

avatar
p*2
27

嗯。这是考点。要跳过空的,还要跳过size为0的。我一会儿写写。

【在 d********w 的大作中提到】
: 是的,写出来看看么,
: 在next时候
: 如果
: v[0]: 2
: v[1]: 0
: v[2]: 0
: v[3]: 1
: v[4]: 0
: 要跳过一些空的vector

avatar
p*2
28
大概这个样子吧。
class flat implements Iterator
{
Iterator> it1=null;
Iterator it2=null;

void Getit2()
{
it2=null;
if(it1!=null)
{
while(it1.hasNext())
{
Vector v=it1.next();
if(v!=null && v.size()!=0)
{
it2=v.iterator();
return;
};
}
}
}
public flat(Vector> a)
{
if(a!=null)
{
it1=a.iterator();
Getit2();
}
}
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
return it2!=null;
}
@Override
public Integer next() {
// TODO Auto-generated method stub
if(it2==null)
return null;
int m=it2.next();
if(!it2.hasNext())
Getit2();
return m;
}
@Override
public void remove() {
// TODO Auto-generated method stub
}

}
avatar
d*w
29
看起来不错阿,你试了哪些test cases么,把unittest也贴出来看看吧

【在 p*****2 的大作中提到】
: 大概这个样子吧。
: class flat implements Iterator
: {
: Iterator> it1=null;
: Iterator it2=null;
:
: void Getit2()
: {
: it2=null;
: if(it1!=null)

avatar
d*w
30
应该是对的,我试了一些test cases;
Vector item1 = new Vector();
item1.add(1);
item1.add(2);
Vector item2 = new Vector();
item2.add(3);
Vector> a = new Vector>();
//a.add(item2);
a.add(new Vector());
//a.add(item2);
Flat f = new Flat(a);
while(f.hasNext())
System.out.println(f.next());

【在 p*****2 的大作中提到】
: 大概这个样子吧。
: class flat implements Iterator
: {
: Iterator> it1=null;
: Iterator it2=null;
:
: void Getit2()
: {
: it2=null;
: if(it1!=null)

avatar
p*2
31

那还不错呀。我没有test,只是写写思路。这题应该是电面的题吧?不过太java
specific了。我用C和C#的时候都没有用过iterator。

【在 d********w 的大作中提到】
: 应该是对的,我试了一些test cases;
: Vector item1 = new Vector();
: item1.add(1);
: item1.add(2);
: Vector item2 = new Vector();
: item2.add(3);
: Vector> a = new Vector>();
: //a.add(item2);
: a.add(new Vector());
: //a.add(item2);

avatar
d*w
32
还是你功力深厚呀,这种bugfree能一次写对,佩服!
还问我python的一些操作,比如如何将path和文件名组合起来,我后来查了一下是os.
path.join()可以做到,问api也太那个了。

【在 p*****2 的大作中提到】
:
: 那还不错呀。我没有test,只是写写思路。这题应该是电面的题吧?不过太java
: specific了。我用C和C#的时候都没有用过iterator。

avatar
p*2
33

这题不算难。onsite的题会比这个难。就是这题出的不典型。你简历里边写了有很多
java,python经验吗?

【在 d********w 的大作中提到】
: 还是你功力深厚呀,这种bugfree能一次写对,佩服!
: 还问我python的一些操作,比如如何将path和文件名组合起来,我后来查了一下是os.
: path.join()可以做到,问api也太那个了。

avatar
b*8
34
世界真的很小,我也面到这道,实现flatten iterator of iterator,可惜当时没做好
,挂了。。
avatar
p*2
35
才发现LZ是谁。呵呵。现在面的好幸福呀。手上几个offer了?
avatar
d*w
36
啥幸福,还是做题能力不够,损失了很多机会。不过我估计可以到西雅图见你了

【在 p*****2 的大作中提到】
: 才发现LZ是谁。呵呵。现在面的好幸福呀。手上几个offer了?
avatar
l*a
37
A or M?
when u go to Seattle, 北京二牛都去弯曲发大财了

【在 d********w 的大作中提到】
: 啥幸福,还是做题能力不够,损失了很多机会。不过我估计可以到西雅图见你了
avatar
d*w
38
哈哈,到时追随北京二牛

【在 l*****a 的大作中提到】
: A or M?
: when u go to Seattle, 北京二牛都去弯曲发大财了

avatar
p*2
39

你又是面apple,又是面google,还来西雅图这小地方呀?

【在 d********w 的大作中提到】
: 啥幸福,还是做题能力不够,损失了很多机会。不过我估计可以到西雅图见你了
avatar
d*w
40
这个也不是我能选择的

【在 p*****2 的大作中提到】
:
: 你又是面apple,又是面google,还来西雅图这小地方呀?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。