
leetcode解題技巧 在 コバにゃんチャンネル Youtube 的最佳貼文

Search
刷LeetCode的正確姿勢是在看完題目後要直接看答案,然後理解答案思路之後 ... B6 對,你要看到題目馬上就知道該用什麼技巧,樹的題目要對各種樹的操作 ... ... <看更多>
資料結構主題涵蓋常用於Leetcode 內解題的資料結構, 較常見的:Array/String, Matrix, Linked List, HashSet/Map, Stack, Queue, Heap 較高階的:DSU ... ... <看更多>
#1. [Day 1] 從LeetCode學演算法- 緒論:你應該知道的面試基礎和 ...
[Day 1] 從LeetCode學演算法- 緒論:你應該知道的面試基礎和解題技巧 ... 那麼,現在網路上可以供作練習的網站相當之多,除了LeetCode外,
#2. 從LeetCode 學演算法|完整解題技巧+ 面試成功指南 - HiSKIO
最完整LeetCode 系列指南(基礎+進階+面試)# 無論是要進新創團隊、外商還是大. ... 從LeetCode 學演算法|完整解題技巧+ 面試成功指南. 倒退10 秒 暫停播放 往前10 秒.
#3. LeetCode 解題的思考策略,刷題的4個階段 - ALPHA Camp
這篇想帶大家了解,Leetcode解題時的心態與策略,如何理解題目背後的設計 ... 那究竟該如何持續鍛鍊程式的技巧,找資料結構或演算法的理論課或是書來 ...
#4. 從LeetCode學演算法- 0. 你應該知道的面試基礎和解題技巧
解題 所用的程式語言會以Java及Python為主,但概念基本上不會差多少,若是使用其他語言的朋友應該也可能從中理解思路。使用的解有些可能會因為我看到更好的解法,會使用其他 ...
#5. LeetCode刷題的一點個人建議和心得 - IT人
為什麼我們要刷LeetCode? LeetCode是面向找IT工作開發崗/演算法崗的基本題庫,想去BAT等大廠,筆試和麵試中的大部頭都要考你演算法題的解題技巧和編碼 ...
我持續在LeetCode 刷演算法題將近有一年半的時間了,這一年半以來我對演算法的 ... 我再來提一個我個人認為很重要的解題技巧:主幹先行再填充細節。
#7. #請益「刷」LeetCode的正確姿勢 - 軟體工程師板 | Dcard
刷LeetCode的正確姿勢是在看完題目後要直接看答案,然後理解答案思路之後 ... B6 對,你要看到題目馬上就知道該用什麼技巧,樹的題目要對各種樹的操作 ...
遞迴的出口和和引數不滿足條件. 引數不滿函式處理的條件,直接返回錯誤程式碼; 判斷出口條件. 優先順序佇列. //使用PriorityQueue實現大頂堆 //PriorityQueue預設是 ...
#9. [ALG101] 先別急著寫leetcode | Lidemy 鋰學院
總之呢,比起刷題這個詞,我更喜歡用「程式解題」四個字來表達我想表達的意思。 有很多人剛開始練習程式解題的時候,是從演算法與資料結構開始的。可能去找了一些書或 ...
#10. [心得] Leetcode 刷題解答與Python 3 小技巧分享 - PTT職涯區
資料結構主題涵蓋常用於Leetcode 內解題的資料結構, 較常見的:Array/String, Matrix, Linked List, HashSet/Map, Stack, Queue, Heap 較高階的:DSU ...
#11. 【矽谷求職戰】「聽說你最近在刷題」:軟體工程師一定會遇到 ...
在如此有限的練習機會下,我因此培養出自己一套「解題原則」: ... 已如同 Google 和搜尋一樣,大部分準備面試的人都在用LeetCode 來「刷題」了。
#12. 從LeetCode學演算法- 緒論:你應該知道的面試基礎和解題技巧
... 和解題技巧-以Easy題目為主,參雜少量Medium題,搭配題目分析及演算法講解,在整理先前自我學習的過程中,希望能對大家有所幫助。解題所用的程式語言會以Java及.
#13. 站在巨人的肩膀,這才是刷算法的正確姿勢 - 每日頭條
魚皮自己的算法小技巧 ... 魚皮也簡單地分享下自己刷LeetCode 的小技巧。 ... 網際網路算法崗面試常見100題精析-題目剖析、解題思路、代碼分析.
#14. 前言· LeetCode 解題紀錄
Leet Code紀錄. 主要是記錄目前刷題的解法和思路. 如果不整理我想我之後一定會忘記. 語言為Java及Python並用. results matching "". No results matching ""
#15. Leetcode解題技巧總結 - 台部落
遞歸的出口和和參數不滿足條件參數不滿函數處理的條件,直接返回錯誤代碼判斷出口條件優先級隊列//使用PriorityQueue實現大頂堆//PriorityQueue默認是 ...
#16. C++ 演算法與程式解題入門 - 台灣大學資訊系統訓練班
不論是面試大型軟體公司、參加程式解題競賽或考取資訊能力檢定,程式 ... 與廣度優先等搜尋法講解最短路徑計算的各式演算法※ 題目難度約為LeetCode 解題網站的Medium ...
#17. [心得] Leetcode 刷題解答與Python 3 小技巧分享- tech_job
資料結構主題涵蓋常用於Leetcode 內解題的資料結構, 較常見的:Array/String, Matrix, Linked List, HashSet/Map, Stack, Queue, Heap 較高階的:DSU, Trie, ...
#18. [week 2] 先別急著寫leetcode - 虛擬碼、Debugger、解題技巧
本篇為[ALG101] 先別急著寫leetcode 這門課程的學習筆記。如有錯誤歡迎指正。 參考文章:程式解題新手入門注意事項- Huli.
#19. [心得] Leetcode 刷題解答與Python 3 小技巧分享- 看板Tech_Job
資料結構主題涵蓋常用於Leetcode 內解題的資料結構, 較常見的:Array/String, Matrix, Linked List, HashSet/Map, Stack, Queue, Heap 較高階的:DSU ...
#20. 刷題實戰筆記:演算法工程師求職加分的祕笈 - 博碩文化
因此如果你習慣在LeetCode平台上演練演算法題目,那麼閱讀本書會更加遊刃有餘。當然,即使你沒有這個習慣也無妨,因為演算法的解題技巧都是通用的。
#21. 刷題實戰筆記:演算法工程師求職加分的祕笈 - 博客來
因此如果你習慣在LeetCode平台上演練演算法題目,那麼閱讀本書會更加遊刃有餘。當然,即使你沒有這個習慣也無妨,因為演算法的解題技巧都是通用的。
#22. LeetCode介紹 - Arton的部落格
為什麼一堆大公司都在考解題? 我想有下列幾點:. 內功:設計、分析、實作演算法這領域從電腦誕生的時候就不斷 ...
#23. 記錄自己的LeetCode 解題之路_Github
食用指南 · 基礎技巧:分治、二分、貪心 · 排序演算法:快速排序、歸併排序、計數排序 · 搜尋演算法:回溯、遞迴、深度優先遍歷,廣度優先遍歷,二叉搜尋樹等 ...
#24. [心得] Leetcode 刷題解答與Python 3 小技巧分享 - Mo PTT 鄉公所
資料結構主題涵蓋常用於Leetcode 內解題的資料結構, 較常見的:Array/String, Matrix, Linked List, HashSet/Map, Stack, Queue, Heap 較高階的:DSU ...
#25. LEETCODE刷題順序_其它 - 程式人生
常用技巧與演算法 ... ( leetcode題解,記錄自己的leetcode解題之路。) (2)用動畫的形式呈現解LeetCode題目的思路,github star 65K.
#26. 從LeetCode學演算法- 0. 你應該知道的面試基礎和解題技巧
你應該知道的面試基礎和解題技巧| by ... 2021-11-04 ... 那麼,現在網路上可以供作練習的網站相當之多,除了LeetCode外, 你可能還聽過HackerRank及CodeWar等 .
#27. 刷題:LeetCode練500題之後,我發現了5個軟體工程師必須 ...
刷題,已經成為軟體工程師們面試準備,其中的核心了。不管什麼階級,技術考試都是避免不了的。Glints繼上次介紹Leetcode之後,要與各位分享,許多人刷 ...
#28. leetcode 面試– 主管面試技巧
總共排了四關面試,前兩關都是問一些基本的ML問題,問完都有考簡單的解題DP, linked list。, 不過這兩個面試官都是偏研究路線的,感覺不太熟leetcode,解題時就是看著 ...
#29. 學點實用SQL技巧題——《尋找面試候選人》LeetCode Plus ...
解題 思路 · 第二個條件很容易實現:用roup by gold_medal即可篩選出次數大於等於3的,然後left join一下users錶即可得到name和mail。 · 關鍵是第一個條件, ...
#30. leetcode-新人首單立減十元-2022年1月|淘寶海外
算法通關之路路誌鵬電子工業出版社一本圖文並茂的力扣LeetCode題解書數據結構和算法知識算法題目解題技巧書算法題解解析書. ¥. 75.8. 已售0件. Java程式設計師留學 ...
#31. leetcode 教學
你應該知道的面試基礎和解題技巧. “從LeetCode學演算法– 0” is published by Chih-Yu Lin. Get started Open in app Chih-Yu Lin 1.96K Followers About Follow Sign ...
#32. 從零開始刷LeetCode數組簡單題常見技巧 - 程式前沿
最近在準備找工作,刷了LeetCode 一百多題,還在入門階段。在學習新的解題技巧的同時,準備寫一個系列總結歸納自己碰到過的刷題套路和思考, ...
#33. leetcode使用教學[ALG101] - Apfigp
leetcode 使用步驟怎樣進去編程_百度知道. 1,看了解答發現好像沒那麼難,可以嘗試使用LeetCode。 從LeetCode學演算法– 0. 你應該知道的面試基礎和解題技巧
#34. 軟體工程師面試資源最簡整理與技巧分享
Leetcode. Leetcode 應該就不用多說,很多人應該都知道,只要你有了一定基礎,需要大量練習題目,那Leetcode 絕對是不二選擇。
#35. 推薦一個學演算法的GitHub 專案 - sa123
我要是隻寫一個包含LeetCode 題目程式碼的倉庫,有個錘子用?沒有思路解釋,沒有思維框架,頂多寫個 ... 回溯演算法解題框架 ... 雙指標技巧解題框架.
#36. 不只是刷題的Leetcode 訓練營 - 活動通
只是用刷題心態學習,無法真正提升實力,即便真的面試到工作了,上班後也會被發現只是解題機器。為了提升長期競爭力,開拓更寬廣的職涯可能性,ALPHA Camp 為非本科 ...
#37. LeetCode 教學課程|不只刷題,更鍛鍊解題核心
從LeetCode 學演算法|完整解題技巧+ 面試成功指南. 介紹常見的Data Structure 例如linked list、Array、Queue、Stack 搭配LeetCode 題目。 # 代表對應的LeetCode 第幾 ...
#38. 站在巨人的肩膀,這才是刷演算法的正確姿勢 - 在體育
io/algo/LeetCode Animation如果說上面的演算法筆記是幫助大家學習演算法的思維框架,掌握演算法題目的解題套路.
#39. 2021 新鮮人軟體工程師面試流程(Google/Microsoft/蝦皮/ASUS ...
不過這兩個面試官都是偏研究路線的,感覺不太熟leetcode,解題時就是 ... 分享幾個我自己在面試中學到,以及從一些面試經驗豐富的人口中聽到的小技巧.
#40. 【文章推薦】[leetcode]Linked List Cycle @ Python - 碼上快樂
【文章推薦】原題地址:http: oj.leetcode.com problems linked list cycle 題意:判斷鏈表中是否存在環路。 解題思路:快慢指針技巧,slow指針和fast指針開始同時指向 ...
#41. [Python] 上LeetCode 程式解題網站,磨練程式與演算法技巧
最近聽同事提到了LeetCode 這個線上程式解題的網站,. 想起了很久以前也有玩過的 UVa Online Judge… 其實都是相同類型的網站,.
#42. JavaScript 的Leetcode 演算之路(一) - 快樂學程式
以下是leetcode 幫我們準備好空白的function ... 接下來我會慢慢的分享一些關於其他題目的解題技巧,如果有更好的寫法請在下面留言給我知道,感謝。
#43. 學點實用SQL技巧題——《尋找面試候選人》LeetCode Plus ...
... 博客上,并且會加上自己的一些解題技巧或實用知識點,希望對大家也能有所幫助,. 那么今天給大家分享的題是LeetCode的第811題——尋找面試候選人,.
#44. 春節大禮包|刷題技巧+80道Leetcode - 人人焦點
然後才是去看各種面經和高頻題,給自己查漏補缺,並且要稍微記錄一下,幾行代碼或者解題思路,方便自己快速複習。下面就是我去年刷題時的筆記(文末下載):.
#45. [問卦] LeetCode刷幾題能去挑戰面試 - PTT評價
欸欸LeetCode 不少人面試前會去刷題目前肥肥我還沒工作需求拉所以我是學新語言時 ... cuteSquirrel 09/02 17:06分析問題的方法和解題技巧的分享。
#46. [請益] 有人想要一起刷LeetCode嗎
shaform: 借串問,有沒有人要賣LeetCode未用完的高級帳號(?)站內信. 2019/5/31 23:48 ... iiiii: 刷題的精髓不在於數目,而是解題技巧的收集,就像考大學考.
#47. 【問題】從LeetCode學演算法 - 加拿大打工度假攻略
從LeetCode學演算法- 0. 你應該知道的面試基礎和解題技巧| by Chih ...medium.com › 從leetcode學演算法-0-6c121bd8b5792019年6月26日· What is an algorithm?
#48. LeetCode 筆記(0) - 核心技法- - 健司辻利煎茶茶點禮盒組
本筆記的初衷是記錄練習LeetCode的心得,以及歸納好用的核心技巧。 ... 法與常用的函數操作就要當背科來練習 ,秒速解題的肌肉記憶最能讓面試官震驚.
#49. 一文學會連結串列快慢指標解題技巧 - ITW01
... 本文總結了市面上常見的快慢指標解題技巧,相信看完後此類問題能手. ... LeetCode 876:給定一個帶有頭結點head 的非空單鏈表,返回連結串列的 ...
#50. APCS解題技巧 - 雲林SONG
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 底下分享筆者在解APCS實作題相關題目(如高中生解題系統、LeetCode、UVa Online ...
#51. [請益] 寫LeetCode起手式是先枚舉test case? | PTT 問答
11 F →tenhou: 常不熟悉的資料結構或解題技巧才看答案,刷到後面會發現以 10/21 11:10. 12 F →tenhou: 前解不出來的也會突然會解了。
#52. [LeetCode]-[JavaScript]-[解題]-Single Number-找出陣列中的單號
原始題目: Given a non-empty array of integers nums , every element appears twice except for one. Find that single one.
#53. 刷題網站比較&必須注意的事項 - Jecho.Me
在題型上,LeetCode 較適合做為演算法入門,同時,它會提供不同的解答, ... 在刷題或是測驗時,解題前你必須先理解題目,並掌握確切的題目範圍,許多 ...
#54. 演算法面試不懂這6大數據結構知識一定掛!(附力扣LeetCode ...
挨踢君精心整理了Google資深工程師的學習筆記和解題技巧,總結出6大數據結構必考知識點,同時以力扣LeetCode經典題輔助講解,幫助你更好的理解數據結構要點。
#55. 不只是TDD #1, 單元測試, 寫出高品質code 的基本功夫
最近有空就會上LeetCode.com 來練習一下coding 技巧,這其實是個練功的好方法, ... 這篇文章等於是這系列的延伸,我就拿如何寫好LeetCode 解題程式為 ...
#56. 這才是刷算法的正確姿勢- MP頭條
如果說上面的算法筆記是幫助大家學習算法的思維框架,掌握算法題目的解題套路。那麼LeetCode Animation 的作用更加純粹,就是通過圖形和動畫的形式 ...
#57. 刷LeetCode的正確姿勢——第1、125題 - 壹讀
本書中,每一道題目都會有一個「Code it now」的連結。點擊這個連結,將會打開OJ題目的頁面。用戶可以在這個OJ系統上提交自己的代碼,並且即時得到反饋, ...
#58. 刷LeetCode 太有害健康了 - 摸鱼
刷LeetCode 太有害健康了 ... 哎可咋整有老哥傳授點經驗或者奇淫技巧麼? 关注 收藏 ... 就像上學時每次學習新的數學知識都會有例題一樣,能夠快速的讓我理解解題思路.
#59. Leetcode 讀書會- 心得報告
解題 (挖礦)過程:交易紀錄經過SHA256這個hash演算法後,得到一串數字,要再加什麼數字 ... 讓一些題目有更好的解題技巧, 另外也有講到BFS 一些技巧, ...
#60. 【Scratch 範例】LeetCode解題@傑夫部拉課 - 探路客
LeetCode 130. Surrounded Regions (Medium). 題目是m*n 的矩陣,1 <= m, n <= 200。這裡改成8*8,並且每次重新隨機出現黑白棋。解決方式,就是把不 ...
#61. 認識程式語言-從程式解題開始 - Yang Yang
小節 · 1. Codewars · 2. Leetcode · 3. Google's Coding Competitions · 4. Codeforces · 5. 計蒜客 · 6. Hackerrank · 7. 解題的必要 · 8. 刷題的迷思 ...
#62. [請益] 寫LeetCode起手式是先枚舉test case? | Soft_Job 看板
11樓 → tenhou: 常不熟悉的資料結構或解題技巧才看答案,刷到後面會發現以 10/21 11:10. 12樓 → tenhou: 前解不出來的也會突然會解了。我也非本科系,刷了1500多題 ...
#63. LeetCode按照怎样的顺序来刷题比较好? - 知乎
掌握LeetCode 刷题方法再开始刷题,属于磨刀不误砍柴工。 ... 这些题的选择就比较有技巧了,建议其中中等难度的占比不低于80%,简单的不超过10%。另外选题类型尽量全面 ...
#64. 就從解決leetcode 問題開始吧!
多多用腦身體好,就從解決leetcode 問題開始吧! ... 個人覺得目前這樣還是容易混亂,也顯現我在解題過程其實是很看心情QQ 再思考一下更好方法 ... 有些技巧可以參考。
#65. [19] Remove Nth Node From End of List 個人手繪解法筆記(只 ...
【Leetcode】python – [19] Remove Nth Node From End of List 個人手繪解法 ... ⭐Leetcode 解題紀錄⭐:, 難度, Tag ... ⭐Leetcode 小技巧⭐:.
#66. Leetcode 程式解題基礎:linked list 和binary tree | Mr. Opengate
這篇主要是linked list 和binary tree 的程式解題小技巧彙整。 這些題目都很基礎不鑽牛角尖,主要功用是維持一種「程式的手感」;一次就寫出bug-free ...
#67. 刷leetcode吃力正常嗎? - 劇多
很正常。對於大多數正常人,沒別的技巧,一遍一遍刷到肌肉記憶。 Easy 的題目是不用思考就可以說出來答案的,但實際寫的話還是 ...
#68. 程式語言彙整 - JuzerTech
LeetCode 23. Merge k Sorted Lists C語言解題... Read More · LeetCode 22. Generate Parentheses ( C ) – Medium.
#69. Two Pointer 快慢指標篇– 陪你刷題
Leetcode 邁向千題的關卡,想要把所有題目刷過一遍,對於一位上班族來說就跟寫出來的程式沒有bug 一樣困難,因此想要將刷題常用的觀念技巧與其對應 ...
#70. LeetCode 開學式
#71. Leetcode - Office Hour #1 on Vimeo
#72. Leetcode 1103. Distribute Candies to People 给人们发糖果 ...
Leetcode 1103. Distribute Candies to People 给人们发糖果使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#73. 程式解題新手入門注意事項 - Huli
總之呢,比起刷題這個詞,我更喜歡用「程式解題」四個字來表達我想表達的意思。 有很多人剛開始練習程式解題的時候,是從演算法與資料結構開始的。可能去 ...
#74. Join GitBook - GitBook
We'll send a magic link to your inbox to confirm your email address and sign you in. Continue. or you can also sign in with.
#75. Leetcode解题技巧总结 - CSDN博客
递归的出口和和参数不满足条件参数不满函数处理的条件,直接返回错误代码判断出口条件优先级队列//使用PriorityQueue实现大顶堆//PriorityQueue默认是 ...
#76. LeetCode 第一題- Two Sum 解法- 為自己Coding (@CHWang)
LeetCode 學習筆記- 如何開始使用LeetCode刷題- 刷LeetCode初體驗- LeetCode 第一題- Two Sum 解法. Published at 2021-05-23. IPFS. Translation.
leetcode解題技巧 在 [心得] Leetcode 刷題解答與Python 3 小技巧分享- 看板Tech_Job 的推薦與評價
※ [本文轉錄自 Soft_Job 看板 #1W-eklPU ]
嗨,大家週末愉快!
不知道還記不記得之前小弟有分享面試 Google TW SWE 的心得,
最後有提到小弟當初有發願,如果順利進去要把過去寫過題目留存的解答整理分享出來,
最近終於施工完了,提供給有需要的人可以自由取用。
這份解答內涵蓋了 781 題的 Python 3 解法(太早期刷的題目就沒留解法了 QQ),
寫這些解答的目的是為了還願並且回饋給還在努力的板友,
唯一的使用限制就是請不要拿來作商業用途,讓知識無償分享出去,感謝大家。
https://www.notion.so/lenchen/LeetCode-47d625b874894484af7c055b024b9817
內容主要分成四大類,
1. 資料結構
主題涵蓋常用於 Leetcode 內解題的資料結構,
較常見的:Array/String, Matrix, Linked List, HashSet/Map, Stack, Queue, Heap
較高階的:DSU, Trie, BIT
還有偶爾會用到 Deque 跟 sortedcontainers,但數量比較少就沒特別分類。
2. 演算法
這邊其實是我自己的歸類,不一定只有這些 XD
內容涵蓋有:
greedy, multiple pointers, sliding window, sort, DFS/BFS, backtracking,
sweep line, rolling sum, binary search, dynamic programming, minimax
有趣的是這邊沒列 divide and conquer 這個經典分類,
因為好像幾乎沒遇到過哪題是只能使用 divide and conquer 解的,
所以就沒有讓它自成一個分類了。
但若有題目也可以用 divide and conquer 解的話,
我也有寫下來,所以還是可以再自行了解下。
3. 圖
圖相關的問題因為太經典所以自成一個主題,
整理了我所遇到的常見圖論演算法,還有 topological sort 的兩種方式,
最重要的是 tree 相關的分類也包含在這一部分內。
4. 其他
數學、隨機、位元操作相關的題目都會在這裡。
大致上就分這四個部分,每個解答底下都有一行字總結這題的解題概念,
因為跨越了兩年半所以 coding style 可能也有些不一樣,
但保證其中 99% 的內容都是我親手一個個字元打出來的,
希望能幫助到有需要的人 :)
另外順便再分享一些我覺得使用 Python 3 刷題時可以用的一些小技巧,
可以讓你的 code 變得更精簡,大家可以看看然後挑自己喜歡的來使用:
1. 用 next 搭配 generator comprehension 來獲取第一個滿足條件的元素,
像是 next(ele for ele in arr if ele > 0),就可以拿到 arr 中的第一個正數。
2. 解對稱性題目時,可以把引數調換 call 一次,減少重複的 code,像是:
def foo(a, b):
if a > b: return foo(b, a)
...
就可以讓你接下來維持在 a <= b 的前提下繼續寫 code,或者直接 swap 引數也可以:
def foo(a, b):
if a > b: a, b = b, a
...
3. python dict 可以使用 tuple 作 multikey,像是 d[k1, k2, k3],
如此一來就不用巢狀 dict 了(d[k1][k2][k3])
4. 可以使用 unpacking 來抽取出需要的參數,像是:
A = [1, 2, 3, 4, 5]
foo, *B, bar = A
可以得到 foo == 1, B == [2, 3, 4], bar == 5
另外還可以用巢狀 unpacking,
像是 for i, (a, b) in enumerate(pairs): 就超級常用。
5. Python 3.8 跟 3.9 有多了一些不錯的東西,
像是 3.8 的 assignment expression(:=) 跟 3.9 的 dict shallow merge(|)
都有機會可以讓 code 更精簡。
6. 有些 matrix 或是 grid 的題目,兩個 dimension 長度有可能為 0,
可以用 if not any(matrix): return xxx 來處理(感謝 Stefan Pochmann)
7. in 也會消費 iterator,
所以如果想知道某個 str s2 是不是另一個 str s1 的 subsequence 可以這麼做,
I = iter(s1)
return all(c in I for c in s2)
(再次感謝 Stefan Pochmann)
8. 想要測兩個數是不是同正負可以用 (a > 0) is (b > 0),記得事先檢查 0
板友提供 (credit to @pig2014): a ^ b > 0 更好
9. 想要攤平巢狀 list 可以用 sum(L, []) <- 不建議!途中 list 會一直重新 alloc
(credit to @coquelicot)
參考 stack overflow:https://bit.ly/3rz8UqH
建議的替代:
9.1. list comprehension: A = [ele for sub in arr for ele in sub]
9.2. itertools: A = list(itertools.chain.from_iterable(arr))
9.3. reduce: A = functools.reduce(operator.iconcat, arr, [])
10. 某些要提供 factory function 的地方,可以遞迴給自己,像是:
trie = lambda: collections.defaultdict(trie)
11. itemgetter 在某些需要 key 的 builtin function 很好用,像是:
sorted(A, key=itemgetter(1)),等同於寫 key=lambda x: x[1]
12. 因為 Python list 提供 negative indexing,
在某些情況可以用 ~i 來獲得對應於 i 的反向 indexing,像是:
for i in range(len(A)):
A[i] += xxx # A[0], A[1], A[2] , ...
A[~i] += ooo # A[-1], A[-2], A[-3], ...
大概就是這些東西了吧,這些技巧有些人喜歡有些人不喜歡,
我覺得沒有對錯啦,就挑自己覺得不錯的用吧 XD
happy coding!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.161.76.160 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1627032495.A.65E.html
※ 轉錄者: wheels (118.161.76.160 臺灣), 07/23/2021 17:28:45
※ 編輯: wheels (118.161.76.160 臺灣), 07/23/2021 17:29:11
感謝!完全沒發現打錯 XD
讚讚,又學到一招,討論區竟然沒看到有人用過 XD
我猜也有可能跟我只看 py 的文章有關
出書真的過譽了,在行家眼中這份解答可能有些地方還是坑坑洞洞的吧。
也請板友不吝告知內容有誤的地方,我會儘快更正!
OMG 非常感謝您的提醒!差點就誤導大家了,真的非常抱歉。
剛才確認 sum(L, []) 的 intermediate list 是會一直重新 allocated 的,
確實不該使用,附上 stack overflow 的傳送門:https://bit.ly/3rz8UqH
建議的替代:
1. list comprehension: A = [ele for sub in arr for ele in sub]
2. itertools: A = list(itertools.chain.from_iterable(arr))
3. reduce: A = functools.reduce(operator.iconcat, arr, [])
再次感謝 coquelicot 大大的指正!
※ 編輯: wheels (118.161.76.160 臺灣), 07/25/2021 04:14:23
... <看更多>