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