Redian新闻
>
发苹果电面面经攒人品
avatar
发苹果电面面经攒人品# JobHunting - 待字闺中
M*l
1
上次跟一个印度校友谈了谈以为挂了,结果最后那个组没要我但是也没有直接据,被推
荐到另外一个组继续电面……
上来先扯了一堆简历的问题,然后问了个超简单的问题,数一个string里的word……然
后我居然第一次没写好……写了个超复杂的算法,用了两个index,while loop里还嵌
套了两个while loop……然后被要求简化,数从空格到字符的转换个数,但是初始条件
纠结了半天被提示了好几次才弄对……
据说会一两天就出结果,不知道这次是不是彻底挂了唉……平常练了太多复杂题目,结
果被基础绊倒了~~
update: 催了下结果,已经悲剧了……
avatar
m*1
2
数words?就是“i have a dream”就是四个words?
avatar
M*l
3
嗯……主要就是前后都有space的时候保证正确就行了,还有就是测试要考虑下null,
empty string

【在 m*****1 的大作中提到】
: 数words?就是“i have a dream”就是四个words?
avatar
l*a
4
第一个字符non space的话,count 初始为1,否则为0
然后就是每次当前字符space,next 字符非space的时候++

【在 M******l 的大作中提到】
: 嗯……主要就是前后都有space的时候保证正确就行了,还有就是测试要考虑下null,
: empty string

avatar
M*l
5
那就又多加了个if,当时那个人不让加了,因为检查null, empty space已经有两个if了

【在 l*****a 的大作中提到】
: 第一个字符non space的话,count 初始为1,否则为0
: 然后就是每次当前字符space,next 字符非space的时候++

avatar
G*A
6
思路很简单,但要写完整并不容易。随便加几种可能性,难度就上去了

【在 M******l 的大作中提到】
: 上次跟一个印度校友谈了谈以为挂了,结果最后那个组没要我但是也没有直接据,被推
: 荐到另外一个组继续电面……
: 上来先扯了一堆简历的问题,然后问了个超简单的问题,数一个string里的word……然
: 后我居然第一次没写好……写了个超复杂的算法,用了两个index,while loop里还嵌
: 套了两个while loop……然后被要求简化,数从空格到字符的转换个数,但是初始条件
: 纠结了半天被提示了好几次才弄对……
: 据说会一两天就出结果,不知道这次是不是彻底挂了唉……平常练了太多复杂题目,结
: 果被基础绊倒了~~
: update: 催了下结果,已经悲剧了……

avatar
M*l
7
谢谢安慰!

【在 G****A 的大作中提到】
: 思路很简单,但要写完整并不容易。随便加几种可能性,难度就上去了
avatar
l*a
8
放一起不好吗?
if(s==null||s.length()==0)

if了

【在 M******l 的大作中提到】
: 那就又多加了个if,当时那个人不让加了,因为检查null, empty space已经有两个if了
avatar
M*l
9
第一个throw IllegalArgumentException,第二个return 0.不过我是用的java,有可
能C++要求不一样?

【在 l*****a 的大作中提到】
: 放一起不好吗?
: if(s==null||s.length()==0)
:
: if了

avatar
c*t
10
return str.trim().split("\s+").length;

【在 M******l 的大作中提到】
: 上次跟一个印度校友谈了谈以为挂了,结果最后那个组没要我但是也没有直接据,被推
: 荐到另外一个组继续电面……
: 上来先扯了一堆简历的问题,然后问了个超简单的问题,数一个string里的word……然
: 后我居然第一次没写好……写了个超复杂的算法,用了两个index,while loop里还嵌
: 套了两个while loop……然后被要求简化,数从空格到字符的转换个数,但是初始条件
: 纠结了半天被提示了好几次才弄对……
: 据说会一两天就出结果,不知道这次是不是彻底挂了唉……平常练了太多复杂题目,结
: 果被基础绊倒了~~
: update: 催了下结果,已经悲剧了……

avatar
B*t
11
这个行吗
int wordCount(string s)
{
int i = 0, count = 0;
while(i < s.size())
{
while(i < s.size() && s[i] == ' ')
i++;
if(s[i] != ' ' && s[i] != '\0')
count++;
while(i+1 < s.size() && s[i+1] != ' ')
i++;
i++;
}
return count;
}
avatar
M*l
12
赞!不过empty string和只有space的时候这个会return 1

【在 c********t 的大作中提到】
: return str.trim().split("\s+").length;
avatar
M*l
13
我刚开始就差不多这么写的,然后面试官说怎么这么多while让简化……

【在 B********t 的大作中提到】
: 这个行吗
: int wordCount(string s)
: {
: int i = 0, count = 0;
: while(i < s.size())
: {
: while(i < s.size() && s[i] == ' ')
: i++;
: if(s[i] != ' ' && s[i] != '\0')
: count++;

avatar
c*t
14
好吧
int wordCount(String s) {
int count = 0, n = s.length();
for (int i = 0; i < n; i++) {
if (s.charAt(i) != ' ') {
count++;
while (i < n && s.charAt(i++) != ' ');
i--;
}
}
return count;
}

【在 M******l 的大作中提到】
: 赞!不过empty string和只有space的时候这个会return 1
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。