今天有个面试,关于python开发的。做了一套题,感觉还不错。但是,没被录用。三天也没给个结果,我觉得是悬了。打算收拾收拾去杭州了。
其中有一个题目,我当时想的是要花点时间,我就算了。现在想想我是真的傻逼。一直觉得什么事情别人看着我,我就很不好意思。这其实是个很不好的毛病。既然别人没叫我停,我就应该想下去,直到做完或者别人叫我停止。既然别人没叫我停,我就应该一直做下去的。
回来第二天晚上,我想了想这个题目。唉!其实真的很简单!!!
只能怪我当时想的太复杂。
出现问题,应该想着怎么解决。又出现新的问题,再解决。直到问题完全ojbk啊!
好了,该说说题目了。题目是,分割用空格或"\\"的字符串,并抽取其中的倒数第index个。
当时的题目是,找错!!!
是的,你没看错。就是从下面的定义的函数找出错误。
def f(arr,index):
return arr.split("\\")[-index]
我一看,这个还用找吗?不就是其中还有的字符如"hu ahaha"中间有空格,这不就是错误吗?还用找?难不成是想让我把[-index]这个也当作错误找出来?这也太他妈弱智了!!!
我就在题目上花了个圈,完结。
然后交上题目,有个家伙来面我了。长的挺帅气的一个小伙,其实不应该是小伙(因为我应该是个小伙啊)。让我现场改,怎么改才是对的?尼玛币的,题目上也不说清楚。我想了想就放弃了,原因刚开始就说了。
起始还有个原因,是之前看过一片文章,好像是说是不能边遍历列表,边删除列表中的元素。其实这个是没毛病的,但是我就觉得这跟那个是一样的,既然不能边遍历,边添加或删除,那我还能怎么办?凉拌,还鸡巴有个人看着我,算了,这个分数我不要了。直接结果是拜拜喽,本来就可以实习就做我心爱的python的,结果不出意外要去做java开发了。
悲剧,悲剧,悲剧!!!
既然不能边遍历列表,边对列表做删除或添加。
那就不遍历这个列表不就好了吗?
遍历一个可以代替这个列表的列表可以吗?
这个列表就是包含还可以用空格做分割的字符串的索引位置。
然后需要做的是,删除这个字符串,对这个字符串做分割,把分割完之后的元素,按照顺序插入到结果保存的列表中去。
需要注意的是,下个包含空格的字符串的索引的位置。
首先会删除之前的包含空格的字符串,然后添加N个字符串,那么,下一个包含空格字符串的索引位置应该为原来的位置加上N-1。
def fun(arr):
s=arr.split("\\")
id=[]
for index,ele in enumerate(s):
if ' ' in ele:
id.append(index)
flag=0
for i in id:
temp=s.pop(i+flag).split(" ")
for ele in temp:
s.insert(i+flag,ele)
flag+=1
flag-=1
return s
print(fun("坑地Z蛙 胡大海\\我日了狗狗 啊哈哈"))
这场面试给我的感觉就是,要低调,帝都强大的人太多,比我强的人太多。