想学CS的,俺出道题,如果做出来了,可以直接到Google或者Apple 去面试

王伍
楼主 (文学城)

设计一个程序,在一个字符串里找出没有重复字母的最长子字符串。要求程序的运行速度是 O(n).

举个例子: 字符串”ABCABC“ 的没有重复字母的最长子字符串是”ABC“。

 

 

y
yellowlemon
Here

王伍
赞一个

搜得好快啊 

a
ahya
别说,我看懂了:)))
a
ahya
哈哈哈哈。
王伍
哪俺考考你,这是啥语言?
y
yellowlemon
我刚辅导完孩子数学,上来一看,

哪有这么简单,就算写出code,没有过硬的简历,也不可能有面试。

快速算法基本上最后都绕不过hash table,我之前梅影美女给了我不少算法资料,我也刷过些题。

外乡人
能看懂?那你毕业了
a
ahya
用的是Java啊,我们学了while loop, if, else if, else
a
ahya
j++ 就是每次加1,()里有条件,hehe,我上了一节课的啊
王伍
哈哈,还行,你能学好
a
ahya
啊,这就算过关了?得到批准学习了?:)))
y
yellowlemon
对,应该鼓励她,这里最重要的算法,

她估计没看懂。

王伍
算法无非就是字符串,爬树,等等
a
ahya
就看到我上面说的那些了,当然知道这是用String,差不多就这样了:)))别期待太多
王伍
你学这种计算机的语言应该没问题

其实这题考的不是语言,而是思维。这种题,让一个单学计算机语言的人去写,写出来的程序的速度是O(n**3)

y
yellowlemon
算法很复杂好不好?
a
ahya
那我的思维咋样?打分一下,几个白眼?

y
yellowlemon
没学过算法的人,肯定

O(n^3)

王伍
你先说说,如果不看代码,对这个问题你准备怎么下手?
S
Sarahzhou
这个在数据结构的算法里是不难的。
王伍
就是数学,其实已经和计算机没啥关系了
a
ahya
唉,看了方法就入脑了,再说自己本来就是这样想的,总有说谎的成份。要不你问个别的吧
王伍
算法本身不难,难的是对速度的要求,大部分码工写出来的是O(n**3)
y
yellowlemon
所以我说要想工资高进大公司,首先得数学好,我家

那口子跟一个教授说我数学系的(估计交流中误解了),人家立刻约我去见面谈。

他当时就想招个数学系的,给他发文章多给力。

a
ahya
唉,你知道我一个作业要求测一个用户随便打出来的东西的length 我用了多少时间吗?

整整弄了三四小时。

a
ahya
去啊,去了告诉他,数学学到三角函数,哈哈哈
y
yellowlemon
为什么呀,Java多好用呀,string.length,直接就给出来呀。
y
yellowlemon
去了一听说不是专业学数学的,人家就没兴趣了,

听说他特别mean,我也不敢找他当导师。

a
ahya
不是还要提示用户输入嘛。输入的里面有什么又要提示错误,再提示输入,那教授啰嗦得很
a
ahya
唉我当年要是专业用数学就好了,这把年龄了,早上学会下午就忘了
王伍
你就拿上面的这题考你教授,保证把他给考趴下

y
yellowlemon
你还可以啦,最起码不是

hello world!

y
yellowlemon
教算法的教授估计能过
王伍
那当然,教算法自然就会想到
a
ahya
哈哈哈。唉你不知道,我很要强的,学那节课真的把我整到了,你看我从来不上来文作业。

就是想自己应该可能学会啊,这么基础,晕S

a
ahya
把他考趴下就给我一个D :))))
a
ahya
看懂思路
I
ILHP
想不到文學城的大媽都勝過公司的阿三。
m
mapletiger
做一个2叉数,在建树的过程中,需要记录扫描的顺序和次数

比如字符串ABCEFABF,在构建此2叉树时,ABCEF可以一直放在右侧,可以看成次数1,并在节点记录 1-1, 1-2, 1-3, 1-4, 1-5, 从AB开始,因为重复节点,开始记录2-1, 2-2, 最后的F节点,因为跳节点,应计次序3-1,最后依据树的计数结果找到重复是AB。