Re: [请益] (ByteDance 面试) 两种不同写法的复

楼主: elements (Helianthus annuns)   2022-12-05 03:21:32
※ 引述《unixxxx (皓皓)》之铭言:
: ※ 引述《oopFoo》之铭言
: : 这题应该是用dict,而不是set。用dict来纪录字符的位置,这样就不用while来重找。
: : 面试官对你很好,提示你不要用while,让你想其它方法,可惜你卡在n2,2n的问题上。
: 2n是分析出来的结果
: 可是平常工作都不会去看程式的逻辑啊
这不是一个 code reviewer 该有的心态
如果你在意这段程式码,把它看懂是你的责任
如果你有建议你可以跟原作者说,你可以要求他改或封装
如果你不在意的话,那你干嘛管它的复杂度
: 程式要写的让人看得懂
: 直观 易读 比复杂度重要才是
原作者的写法很明显是 O(N)
一个 while 循环摆在那,很难不去看他的终止条件
现实生活中,如果你看到一个这样的算法
你也会想去搞懂他为什么写出个 O(N^2)
然后一看里面那个循环马上就会知道
其实里面那个循环在所有外圈跑完以后只会执行 N 次
此外,直观易读并不是一个单一维度的问题
他可以硬是把它做成一层循环
造成你轻易的判断他是线性复杂度(其实单一循环也不代表线性复杂度)
结果却让其他的部分变得很难理解,这并不叫做直观
大家说原 po 运气不好
我觉得原 po 运气很好,面试官在面试的时候就展现出了刚愎自用的性格
就算你真的进去了,以后也很难相处
作者: rajlleb (:))   2022-12-05 06:49:00
作者: FatFatPig (胖胖の猪)   2022-12-05 10:53:00
推推
作者: dmeiki (熊麻吉)   2022-12-05 12:46:00
作者: lemontea0328 (魔幻柠檬)   2022-12-05 14:32:00
作者: a5560648 (bacon6174)   2022-12-05 15:42:00
作者: viper9709 (阿达)   2022-12-05 16:47:00
作者: unixxxx (皓皓)   2022-12-05 18:17:00
原作者的写法很明显是 O(N) 这句不对吧如果很明显就可以看出 那为什么后面会需要讨论这么久呢
作者: boomberm (boom)   2022-12-05 21:35:00
没人在理O(n)都看不出来的人,讨论串都在赌烂废物面试官
作者: peter98 (新兵)   2022-12-05 21:39:00
因为没有人想理连O(N)都看不出来的人 那个人如果不是面试官 基本上也没啥人鸟他 还有 面试官很多也不过是工作两三年的人充当的 本来就不一定有一把刷子 更不用说两把刷子了
作者: unixxxx (皓皓)   2022-12-05 22:31:00
看不出复杂度也不代表算法不强吧 以小放大
作者: peter98 (新兵)   2022-12-05 22:58:00
你满坚持己见的 你好就好~ 没关系
作者: stkoso (Asperger)   2022-12-05 23:36:00
看不出来也不代表不强? 那面试官问复杂度冲三小
作者: brucetu (sec)   2022-12-06 00:32:00
呃 这个如果没办法明显看出是O(N) 应该是很少做算法也没在刷题就算真的第一眼没认真看 没看出来 原作者已经给解释了真的就只是一个刚愎自用的面试官应该是拉不下脸承认看错
作者: unixxxx (皓皓)   2022-12-06 01:53:00
又不是每个team都很注重算法
作者: sorryla (Mr.东)   2022-12-06 02:12:00
算法的核心就是在讨论复杂度,以小放大? 呵呵
作者: sniper2824 (月夜)   2022-12-06 10:03:00
天哪 真的很好笑
作者: shooter555 (shooter)   2022-12-06 10:45:00
看不出复杂度 跟算法强 这两者互斥
作者: unixxxx (皓皓)   2022-12-06 11:05:00
哪有大家都行 面试官不是一开始没看出 代表写的不够直观
作者: sniper2824 (月夜)   2022-12-06 12:12:00
好了啦
作者: stkoso (Asperger)   2022-12-06 12:35:00
大家都行 面试官没看出 代表他不是大家
作者: Rukawa31 (扫把昕与鲁熊)   2022-12-06 12:37:00
楼上那个到底在回什么… 硬要辩耶人家就面试Algorithm Engineer职位 什么叫又不是每个team都注重算法 = =???
作者: unixxxx (皓皓)   2022-12-06 16:58:00
很多算法很强的都不会算时间复杂度不一定会
作者: dnabossking (少狂)   2022-12-06 17:47:00
看不出复杂度的算法强者,在下平生未闻
作者: Ekmund (是一只小叔)   2022-12-06 17:55:00
不注重算法 那考算法干嘛...?
作者: sorryla (Mr.东)   2022-12-06 18:04:00
你的强的定义可能有点低呢
作者: hank55663 (hank55663)   2022-12-06 19:07:00
我认识很多很强的 这种简单的都能轻松看出复杂度
作者: kyrie77 (NTU KI)   2022-12-06 19:09:00
不会分析复杂度怎么好意思说算法强…
作者: xluds24805 (狼)   2022-12-07 00:57:00
从一个面试者的描述就能通灵出面试关刚愎自用呀?
作者: chchwy (mat)   2022-12-07 03:03:00
→ unixxxx : 很多算法很强的都不会算时间复杂度这句话你讲的出来XDDD白眼翻到天上 你是认真的还是在搞笑
作者: sniper2824 (月夜)   2022-12-07 11:43:00
不会算到底在强什么啦 小丑484感觉像反串来钓鱼的 笑死
作者: loadingN (sarsaparilla)   2022-12-07 20:51:00
笑死
作者: unixxxx (皓皓)   2022-12-08 02:01:00
现代算法很少在考虑复杂度了
楼主: elements (Helianthus annuns)   2022-12-08 08:17:00
东西够小就不需要太在乎复杂度
作者: lwecloud (CloudEX)   2022-12-08 09:19:00
应该只接触PC才会觉得算法随便算就好
作者: Killercat (杀人猫™)   2022-12-08 09:46:00
现代算法哪有不考虑复杂度?是一堆算法都有现成实作,coder才不用伤这个脑筋好吗...
作者: stkoso (Asperger)   2022-12-08 11:15:00
平行世界是真的存在的
作者: sorryla (Mr.东)   2022-12-09 03:54:00
层次不同就无法沟通
作者: Merkle (你在想奇怪的东西齁)   2022-12-09 15:18:00
渣男没办法跟肥宅沟通床上技巧的概念
作者: leolarrel (真.粽子无双)   2022-12-09 16:50:00
野生马卡!

Links booklink

Contact Us: admin [ a t ] ucptt.com