Re: [請益] (ByteDance 面試) 兩種不同寫法的複
※ 引述《unixxxx (皓皓)》之銘言:
: ※ 引述《oopFoo》之銘言
: : 這題應該是用dict,而不是set。用dict來紀錄字元的位置,這樣就不用while來重找。: : 面試官對你很好,提示你不要用while,讓你想其它方法,可惜你卡在n2,2n的問題上。
: 2n是分析出來的結果
: 可是平常工作都不會去看程式的邏輯啊
這不是一個 code reviewer 該有的心態
如果你在意這段程式碼,把它看懂是你的責任
如果你有建議你可以跟原作者說,你可以要求他改或封裝
如果你不在意的話,那你幹嘛管它的複雜度
: 程式要寫的讓人看得懂
: 直觀 易讀 比複雜度重要才是
原作者的寫法很明顯是 O(N)
一個 while 迴圈擺在那,很難不去看他的終止條件
現實生活中,如果你看到一個這樣的演算法
你也會想去搞懂他為什麼寫出個 O(N^2)
然後一看裡面那個迴圈馬上就會知道
其實裡面那個迴圈在所有外圈跑完以後只會執行 N 次
此外,直觀易讀並不是一個單一維度的問題
他可以硬是把它做成一層迴圈
造成你輕易的判斷他是線性複雜度(其實單一迴圈也不代表線性複雜度)
結果卻讓其他的部分變得很難理解,這並不叫做直觀
大家說原 po 運氣不好
我覺得原 po 運氣很好,面試官在面試的時候就展現出了剛愎自用的性格
就算你真的進去了,以後也很難相處
--
推
推推
推
推
推
推
原作者的寫法很明顯是 O(N) 這句不對吧
如果很明顯就可以看出 那為什麼後面會需要討論這麼久呢
沒人在理O(n)都看不出來的人,討論串都在賭爛廢物面試
官
因為沒有人想理連O(N)都看不出來的人 那個人如果不是面
試官 基本上也沒啥人鳥他 還有 面試官很多也不過是工
作兩三年的人充當的 本來就不一定有一把刷子 更不用說
兩把刷子了
看不出複雜度也不代表演算法不強吧 以小放大
你滿堅持己見的 你好就好~ 沒關係
看不出來也不代表不強? 那面試官問複雜度衝三小
呃 這個如果沒辦法明顯看出是O(N) 應該是很少做演算法
也沒在刷題
就算真的第一眼沒認真看 沒看出來 原作者已經給解釋了
真的就只是一個剛愎自用的面試官
應該是拉不下臉承認看錯
又不是每個team都很注重演算法
你要嘛: 1. 在意這段程式碼,知道它的複雜度是多少 2. 不在意這段程式碼,相信別人告訴你它的複雜度是多少 你不能要求所有人都只能用迴圈層數來表達複雜度 好讓你「剛好看得懂一段你不太在意邏輯的程式碼」 另外,能不能一眼就看出來,其實是看人,看心情,看天氣,看熟練度 你不行不代表別人不行,當大家都行的時候你應該問的是 "為什麼我不行" 而不是嗆看得懂的人說看不懂才是正常的
演算法的核心就是在討論複雜度,以小放大? 呵呵
天哪 真的很好笑
看不出複雜度 跟演算法強 這兩者互斥
哪有大家都行 面試官不是一開始沒看出 代表寫的不夠直觀
好了啦
大家都行 面試官沒看出 代表他不是大家
樓上那個到底在回什麼… 硬要辯耶
人家就面試Algorithm Engineer職位 什麼叫又不是每個t
eam都注重演算法 = =???
很多演算法很強的都不會算時間複雜度
不一定會
看不出複雜度的算法強者,在下平生未聞
不注重演算法 那考演算法幹嘛...?
你的強的定義可能有點低呢
我認識很多很強的 這種簡單的都能輕鬆看出複雜度
不會分析複雜度怎麼好意思說演算法強…
從一個面試者的描述就能通靈出面試關剛愎自用呀?
→ unixxxx : 很多演算法很強的都不會算時間複雜度
這句話你講的出來XDDD
白眼翻到天上 你是認真的還是在搞笑
不會算到底在強什麼啦 小丑484
感覺像反串來釣魚的 笑死
笑死
現代演算法很少在考慮複雜度了
東西夠小就不需要太在乎複雜度
應該只接觸PC才會覺得演算法隨便算就好
現代演算法哪有不考慮複雜度?是一堆演算法都有現成實
作,coder才不用傷這個腦筋好嗎...
平行世界是真的存在的
98
[請益] (ByteDance 面試) 兩種不同寫法的複雜度分析事情是這樣的,今天下午面了 ByteDance 2023 的缺 (Algorithm Engineer) 考了 leetcode 3. Longest Substring Without Repeating Characters () 我的解法:13
Re: [請益] 發現同事反組譯自己程式碼怎辦恩~~~就像你原文所講的,你的同事都在用反組譯了,也就代表了沒有拿到程式碼 那究竟有甚麼問題,我其實搞不太懂 之前在面板廠工作的時候,我都很歡迎我的同事大量使用我的程式碼, 每周部門會議時,我就公開說我做了XXX000,歡迎大家來使用 因為都在同部門,沒有必要重新造輪子10
Re: [請益] (ByteDance 面試) 兩種不同寫法的複雜度分析這個第一個做法一看就很簡單不會是N^2 如果是我會這樣嘗試跟面試官解釋 字串abccba L R4
Re: [討論] 重構跟kpi的考量我覺得有個盲點就是 重複程式碼的邏輯 我的經驗是在需求還沒穩定前 一樣的程式碼複製到不同地方才是最佳解 你根本不知道什麼時候 某個地方要用的邏輯不同 一但要改寫的邏輯不通 你就會被共用的程式碼卡住4
Re: [問卦] 如何寫自己容易維護 別人難懂的CODE很簡單啊 你的註解另外開一個說明檔案就好 正常來說註解都是寫在程式段落附近 你可以把註解當成說明文件就好,另外開一個檔案 然後每一個功能元件或者功能段落理論上你會開不同的程式包