Prob_Solve 板


LINE

※ 引述《cateran (雲川閒步)》之銘言: : ※ 引述《suhang (suhang)》之銘言: : : 我以前並沒有競賽經驗 : : 為了工作面試而開始寫leetcode, 最早連recursion都寫得很痛苦 : : 一邊練習也一邊跳槽,持續練習準備下次跳槽 : : 也寫了600+題了,很多題都反覆練習,每天下班持續練習個五題十題 : : 我自覺常用(考)的dfs, bfs, sort, tree, stack, queue : : binary search, trie, binary search tree : : 都算熟悉,都能很快寫出模板並了解為什麼,但似乎就卡在這 : : 好像就只會寫模板題,常常稍有變化就卡住了 : : (高手們的"基本結構/算法"一定包含更廣) : : 例如 https://leetcode.com/problems/ternary-expression-parser/ : : 看了題我就直覺可以用 stack : : 因此我就從i=0 開始往後走,開始分析遇到 ? or : 該怎麼入棧出棧 : : 但是越寫越雜,總是過不了, : : 瞄了別人的做法 (開心!的確也可以用 stack解) : : 別人從最後往前走,條理分明,20行解決 : : 另外又一題,這個例子更糟,完全沒想法 : : https://leetcode.com/problems/max-chunks-to-make-sorted/ : : 看了解答才知道,主要精神是求區間最大值,有兩種主要做法 : : 1 排序,然後對比原輸入(類似greedy的概念) : : 2 用兩個arr記錄位置i左邊最大的和右手邊最小的元素(有點類似dp的概念) : : 看了也能懂,而且他們也沒用更難的結構或是算法 : : 但自己本身的狀況就是糟,因為完全沒有想法, : : 連掙扎都不知道怎麼抖,如果是面試,真的是乾整場 : : 這些症頭該怎麼辦?我該怎麼更進一步? : 看了一下第二題 : 你是看哪裡的解答啊? : 排序?兩個arr? https://tinyurl.com/y2292rfg : 這題用一個整數 記錄目前掃過的最大值 另一個整數記答案 : 然後掃過一次,當就好啦O(n), constant memory : 個人看到題目都會先想辦法估計複雜度 : 然後想辦法找到這個複雜度下的演算法 如果有些想法,我也會試著推算 或者從leetcode的數據規模猜一下n^2 是否可行之類的 看別人經驗說,如果套上你的算法之後超過1M的運算應該就是TLE : 比如說這題 : 很明顯當你掃到a_i的時候 就可以從前面的資料推論 : 是否從a_0到a_i可以當成一堆 : 如果不行就繼續掃下去 正如你所提到的這個方法以及原文中的版友推文 要能夠抽象化一個問題,然後再去思索適合的算法或是結構去執行 我想此題的抽象化結果就是: 找區間最大,當前區間最大不可和下個區間重疊,所以每個區間排列之後可以直接合併 所以discussion裡面 有人從左邊掃一遍右邊掃一遍 有人用monotoic stack 有人把輸入排個序,對比一下原輸入 但我滿常碰到某些題目,卻沒有丁點想法該如何抽象化該題 我會試著將題目暴力寫一遍,再去想想這個暴力是在“找”什麼東西 但仍會碰到某些題目無從下手 也許是某些知識點不足,或者是題意不夠明瞭,或是腦袋當機? 總覺得現在碰到一個瓶頸 又例如這題,https://leetcode.com/problems/sliding-window-maximum/ 暴力法就是size k 的窗口反覆掃 最佳解是用一個單調棧,以前就是背下來 直到最近才有新的體悟 題目直白的說:要找窗口區間最大值 -> 在nums[i]左邊所有數中,哪個數字nums[j]比nums[i]大? -> nums[j] 就成為上個區間的local max -> 然後想辦法維護window size k這個要求 這類的問題似乎可以用單調棧去解 這題就跟上面的 https://leetcode.com/problems/max-chunks-to-make-sorted/ 很像 (在nums[i]左邊所有數中,哪個數字nums[j] 比nums[i]大? 那個數就成為這個區間的上界) 但我也不是立志成為算法高手 只是想過面試 : 如果可以就output++ : 然後往後掃描也不需要再回去看前面的資料 : 因此可以推論這是linear time可解的題目 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 199.116.167.226
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Prob_Solve/M.1559245256.A.DF8.html ※ 編輯: suhang (199.116.167.226), 05/31/2019 04:00:04 ※ 編輯: suhang (199.116.167.226), 05/31/2019 04:01:22 ※ 編輯: suhang (199.116.167.226), 05/31/2019 04:05:10







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP