Re: [請益] 面試如果考coding可以這樣回答嗎?

作者: secretfly (☠鬼滅·之喵喵)   2024-02-26 02:03:12
※ 引述《MOONY135 (脫俗仙子談無慾)》之銘言:
: : 自己沒有把握用純代碼方式回答的話
: : 可以把解題方法或思路寫下來當作替代方案嗎?
: : 就是會用到什麼算法、函式,邏輯大概是怎樣....之類
: : 例如這個題目:
: : https://imgur.com/dAHI3Jq
: : 標準答案應該是這樣:
: : https://imgur.com/MdnXLxg
: : 如果我的回答是:
: : https://imgur.com/FKlAUZJ
: : 如果這樣回答會不會被面試官ㄍㄧㄠˇ
: : 可能這個問題的回答是「要看人」
: : 不過還是想問一下普遍人的看法
: : 謝謝各位~
: : PS:
: : 我知道上面那題很簡單
: : 目前的功力即使是紙筆寫也是可以輕鬆完成的
網路上搜尋文章 正在學習中 結果翻到4年前這篇古文
發現了很有趣的現象 AI完全改變世界 原PO的語言完全就是跟chatgpt施咒的內容XD
當然文章原本主旨是討論面試 這我就不說了 沒這方面知識
只是想分享一下
chatgpt在這幾年的誕生 影響力真的超巨大
回顧底下的留言更好笑:
所以你上班要寫紙條給其他工程師開發?
我就問問 這殺小語言?
也就是說 現在就算出一張嘴 也可以靠gpt幫忙完成一些題目
不過這也讓我反思 真正"會程式"的需求 其實好像又更難了 要靜下心
不要只是抄抄AI 吸收進去 @@
馬上反省自己
不知道大家對這篇古文有什麼想法?
是否覺得學程式變簡單了 還是人心浮躁 其實門檻更高了呢XD?
作者: sanctitysky (常自在)   2024-02-26 03:16:00
答案是對的 但應該不是好答案我指那個程式題目的答案
作者: surimodo (好吃棉花糖)   2024-02-26 03:17:00
A.stream().sort().map(t->t*2).tolist()
作者: peter98 (新兵)   2024-02-26 04:44:00
樓上你要不要再想想...
作者: drajan (EasoN)   2024-02-26 05:17:00
ChatGPT可以告訴你 how to implement, 但沒辦法告訴你 what to implement, 這是資深工程師的技能。所以ChatGPT可以取代初級工程師
作者: cancelpc (阿吉)   2024-02-26 05:37:00
且chatgpt回答不一定是對的且功能一樣,但每種寫法副作用不一樣
作者: expiate (夜露死苦)   2024-02-26 05:52:00
不知道是不是那一次很多人想秀答案,結果卻很悲壯的那一次
作者: una283 (無)   2024-02-26 07:26:00
AI就是寫出一個「可以解決問題」的解再高級一點的AI可以根據需求寫出運算io少的解不過亦毋需擔心因這樣發展下去初級需求還是會暴增產業轉型成長期中仍是需要人的介入不足AI無法配合的部分補足只是可以預期的以後初級碼農會被要求更快寫出來工作量會變多薪水卻不見得跟上
作者: loadingN (sarsaparilla)   2024-02-26 07:46:00
就只是原本抄stackoverflow的換一個地方抄
作者: qwer338859 (溫莎公爵)   2024-02-26 07:48:00
3樓先排序不考慮負數?
作者: stepnight (桃卡武康)   2024-02-26 08:09:00
為啥非遞減就是升冪排序
作者: zxc8787 (摸斗哈壓庫)   2024-02-26 08:33:00
好奇為啥非遞減就是遞增+1,也可以是隨機排序吧
作者: peter98 (新兵)   2024-02-26 09:35:00
在那邊好奇為啥非遞減就是遞增的,高中數學課是在睡覺?要是一時忘記能不能有等號就算了,在那邊扯隨機......這樣子思考題目描述的方式,白板面試題肯定被電飛......
作者: airtsubasa (偽學姊)   2024-02-26 09:51:00
不是每個公司都能上chatgpt
作者: Mchord (Mchord)   2024-02-26 09:54:00
非遞減數列是有定義的,必須每項元素≧前項元素
作者: brucetu (sec)   2024-02-26 09:55:00
本來就很多文組轉職不用意外吧0.0看到一串文字就用自己的腦解釋而不是去查定義理組看到不確定定義的名詞反射行為是去查定義
作者: surimodo (好吃棉花糖)   2024-02-26 09:57:00
應該是 t*t ? 睡前瞄一眼沒認真看然後sort 要在 map 之後
作者: stepnight (桃卡武康)   2024-02-26 09:59:00
學費了,讚
作者: etbear (藤原熊)   2024-02-26 10:00:00
這題最佳解應該不用sort的O(n)解吧
作者: drajan (EasoN)   2024-02-26 10:11:00
用平方之後sort只是起手式 first follow up一定是叫你 linear解掉 再來問 overflow, 然後無窮序列…很多玩法 問到倒為止
作者: sarsman (DeNT15T♠)   2024-02-26 10:58:00
把 <0 的數字跟 >=0 的數字視為兩個 array,分別做平方後再 merge 成一個 array 就能 O(n) 搞定了
作者: zxc8787 (摸斗哈壓庫)   2024-02-26 11:12:00
秀下限了 原來有定義@@
作者: lycantrope (阿寬)   2024-02-26 11:47:00
所以要怎樣不sort解這題?
作者: qk3380888 (小官)   2024-02-26 12:07:00
不Sort就空間換時間啊
作者: f26724309 (番薯)   2024-02-26 12:35:00
Sort也只是把實作包成函式給你方便呼叫而已
作者: WTS2accuracy (宝鐘海賊団の一味)   2024-02-26 13:19:00
biSearch找到0在2pointer就好了 連空間也不用
作者: abc12689 (Shewix)   2024-02-26 13:25:00
觀察發現輸入陣列已序,操作後最大值會落在左右端點e.g., -4, 10 其一會是運算後的最大值雙指標解法為確保範圍內可產生的最大元素
作者: hobnob (hobnob)   2024-02-26 13:31:00
Two pointers 一個loop解決
作者: BBSealion (海獅)   2024-02-26 13:42:00
O(N)方法太多了,但一時沒看出能否 in-place 做掉可以的話,或許這才是這題最終想考的東西
作者: etbear (藤原熊)   2024-02-26 13:51:00
可以in-place吧, 可是有點無謂的複雜如果我是考官, 隨便寫個O(n)就給過了
作者: fatb (胖逼=口=)   2024-02-26 14:55:00
速度寫出一個程式變簡單 但量產就炸裂
作者: ssccg (23)   2024-02-26 15:06:00
就兩個sorted list merge換個說法而已
作者: theedge   2024-02-26 15:07:00
lc easy原題就這麼有鑒別度了嗎
作者: ssccg (23)   2024-02-26 15:10:00
工程師的功能就是不要只聽客戶說要怎麼做,要看出這需求真正是要解什麼問題,然後用適合的解法先平方再sort,根本題目裡就寫了,並不能算答案
作者: lycantrope (阿寬)   2024-02-26 15:53:00
喔沒發現array本來就sort
作者: brucetu (sec)   2024-02-26 20:15:00
想了一下應該是two pointer可以利用原本的非遞增特性薪水不高的職缺給平方再sort會給過啊,只是要檢查一下你至少會寫很簡單的程式不是完完全全不會
作者: new122851 (未若柳絮因風起)   2024-02-26 20:29:00
與其拘泥於程式寫法,不如研究怎麼將程式變現,能賺錢的程式才是好程式。
作者: aresa (秋涼)   2024-02-26 23:24:00
起點0和n-1,比大小大的先push back,最後reverse 也是o(n)
作者: waiwailove (waiwailove)   2024-02-27 02:15:00
排序我都寫 小到大排序或大到小,一定要升降嗎
作者: Ericz7000 (Ericz7000nolan)   2024-02-28 06:09:00
sort幹嘛 為什麼不指針去找就好= =
作者: ideaup (ideaupsoho)   2024-02-28 08:08:00
scansort 為此題正解,
作者: brucetu (sec)   2024-03-01 08:37:00
都告訴你有o(n)就不用考慮insertion sort了
作者: qwer338859 (溫莎公爵)   2024-03-02 16:29:00
今天的每日剛好是這題 真的有時間O(n)空間O(1)的解我也想看看
作者: etbear (藤原熊)   2024-03-02 23:16:00
in place全平方 O(n)找出平方後最小值所在 O(n)把前半到最小值in place reverse O(n)前後兩數列in place merge O(n)
作者: qwer338859 (溫莎公爵)   2024-03-03 02:38:00
蛤?有程式碼嗎
作者: etbear (藤原熊)   2024-03-03 05:35:00
啊最後一步好像無法O(n) O(1)本來直覺兩個排好的總有辦法in place併起來
作者: wulouise (在線上!=在電腦前)   2024-03-03 15:52:00
最後不就是兩個數列嗎?應該可以two ptr左邊的永遠最小?etbear的想法應該可行
作者: qwer338859 (溫莎公爵)   2024-03-03 16:02:00
你先貼一個AC的程式碼來看看= =
作者: brucetu (sec)   2024-03-03 17:33:00
這題不就 LC 977 自己去看解答不就 O(n)是在秀= =?
作者: qwer338859 (溫莎公爵)   2024-03-03 19:06:00
你確定空間O(1)??喇一堆不貼 時間O(n)空間O(1)AC程式碼 用嘴寫程式
作者: Dracarys (MayShowGunMore)   2024-03-03 20:33:00
作者: brucetu (sec)   2024-03-03 20:42:00
空間O1是你提的,沒有人說可以,不存在的東西自己在那邊說「如果有我也想看看」,幹嘛?在你那句話之前提出可以On的人是有哪個人說可以同時空間O1嗎?自己要幫題目加難度自己去慢慢玩,你怎不乾脆說如果有時間Ologn也想看看,哈哈
作者: qwer338859 (溫莎公爵)   2024-03-03 21:14:00
阿不是有人說可以in-place 只有你在那邊當槓精閱讀能力堪憂 有人說可以我就好奇阿XD
作者: peter98 (新兵)   2024-03-03 23:12:00
in-place指的是without ANY additional memory,我也好奇要怎麼做到。也不要求完全不用了,就來個O(1) memory也可以~想看解法我去年面試過3個,樣本數不多,但解法要嘛是1. nlgn時間+常數空間;要馬2. 線性時間 + 線性空間。如果有人寫出線性時間 + 常數空間,我的Feedback一定給他strong hire想學習線性時間+常數空間,能請et大大寫一下嗎?
作者: etbear (藤原熊)   2024-03-03 23:22:00
實寫確實變成上面兩種情況之一只能偷把題目改成linkedlist或是用generator了(誒
作者: peter98 (新兵)   2024-03-03 23:36:00
linked list就沒問題,用external memory sorting的概念就可以了。
作者: lycantrope (阿寬)   2024-03-04 11:25:00
linkedlist效率就是差,求大神in-place的解法
作者: Ericz7000 (Ericz7000nolan)   2024-03-04 14:24:00
in-place想不到 我也好奇
作者: Ghamu (貓丸)   2024-03-08 18:49:00
其實多數人都會寫 不會寫上網查也可以找到怎麼做 但你要做一個可長可久 別人看得懂 可持續維護擴展的程式就比較困難了
作者: wulouise (在線上!=在電腦前)   2024-03-15 23:01:00
in place merge sort很複雜,在範圍限定下可以把一個item分成high byte, low byte, merge sort結果放在high byte,原本的array放low byte,最後把low byte去掉
作者: cathychg (凱西)   2024-04-28 12:29:00
這 真的跟經驗值有關 , 高經驗值 刷題多 會比較沒壓力沃經驗值不高 壓力大

Links booklink

Contact Us: admin [ a t ] ucptt.com