![post-title](https://i.ytimg.com/vi/_RsaNzZFuUU/hqdefault.jpg)
leetcode怎麼用 在 コバにゃんチャンネル Youtube 的精選貼文
![post-title](https://i.ytimg.com/vi/_RsaNzZFuUU/hqdefault.jpg)
Search
想尋找一起刷題leetcode的夥伴,用python,目前是新手所以不介意從easy開始的夥伴 ... 我的Python版本是3.10.9,想使用grequests非同步爬蟲,但程式頻頻當掉,而且顯示 ... ... <看更多>
想問一下大家刷leetcode的流程是怎麼樣的。如題,本人刷了快70題,資料結構的部分大部分ok了,演算法的部分目前只接觸到Search的題目, ... ... <看更多>
這篇文章說明LeetCode 的的使用方式。 為什麼你要知道這個網站?因為這個網站收集了許多矽谷軟體公司的程式設計「面試」題目。
#2. LeetCode 第一題- Two Sum 解法- 為自己Coding (@CHWang)
Step 1: 打開LeetCode網站,並登入 · Step 2: 點擊Problems · Step 3: 塞選題目,並挑選出自己想要的分類題目 · Step 4: 挑選好題目,點進去,就可以開始刷題 ...
#3. LeetCode 解題的思考策略,刷題的4個階段 - ALPHA Camp
LeetCode 是一個線上解題系統 · Codility:更強調面試體驗,提供題目給公司作為面試使用 · HackerRank:適合初學者,內容包含基礎題目到進階難題 · Codewars ...
#4. 【寫Code】01-使用LeetCode刷題 - 創作大廳- 巴哈姆特
這就是基礎的LeetCode教學,最好每天解個一兩題,可以大幅進步自己的解題思維能力。 注意: 1.每個題目到要看清敘述,不要還沒搞懂題目就下筆。
#5. LeetCode是什麼? LeetCode 介面操作及經驗分享- 程式研究中心
社群狀態– 多少人看過、提出多少解答(Problems Discuss)、Discuss頁面? 分為兩塊,上區為解題使用過的語言、下區為解答了哪些類型的題目; 競賽狀態– 參加 ...
#6. [ALG101] 先別急著寫leetcode - Lidemy 鋰學院
總之呢,比起刷題這個詞,我更喜歡用「程式解題」四個字來表達我想表達的意思。 有很多人剛開始練習程式解題的時候,是從演算法與資料結構開始的。可能去找了一些書或 ...
#7. 從LeetCode學演算法- 0. 你應該知道的面試基礎和解題技巧
解題所用的程式語言會以Java及Python為主,但概念基本上不會差多少,若是使用其他語言的朋友應該也可能從中理解思路。使用的解有些可能會因為我看到更好的解法,會使用其他 ...
#8. 什麼是Leetcode? Leetcode 必考題、最有效率刷題法一次告訴 ...
所以如果你不會使用C++ 或是Java,沒有關係!還有14 種語言給你選。 LeetCode 現在有支援的程式語言:C, C#, C++, Python, Python3, Java ...
#9. 刷題:LeetCode練500題之後,我發現了5個軟體工程師必須 ...
這讓許多人感到很不愉快,因為他們認為會回答LeetCode的問題,並不能反映他們的工作能力。有些人甚至會認為練了那麼多,也根本不會在工作的時候用到。
#10. Leetcode刷題學習筆記–心得統整 - HackMD
最小weight和,可以把全部的node連起來的tree,通常使用greedy演算法, 每次都從最小的weight開始選,如果沒在graph裡面就加進來。 Single Source Shortest Path Algorithm.
#11. leetcode新手向:如何在leetcode刷题、测试、提交代码教程
第一集内容是对LeetCode的全局概览1. 力扣(LeetCode)是什么?2. 怎么在LeetCode上找题目?3. 题目的Solution是什么意思?4. 怎么把符合规范的Solution提交上去?5.
#12. 如何正确高效地使用LeetCode? - 知乎
给大家分享一个GitHub上关于LeetCode的攻略~. GitHub上有个叫lucifer的中国小哥哥,将Leetcode题库中数百道题目的解题过程全盘分享,解题思路和代码都有。
#13. 從LeetCode學演算法|基礎篇| HISKIO 線上學習平台
輕鬆學會用10種演算法/資料結構,破解20道精選面試考古題!
#14. 想尋找一起刷題leetcode的夥伴,用python,目前是新手所以不 ...
想尋找一起刷題leetcode的夥伴,用python,目前是新手所以不介意從easy開始的夥伴 ... 我的Python版本是3.10.9,想使用grequests非同步爬蟲,但程式頻頻當掉,而且顯示 ...
#15. 如何用分治法對付LeetCode / 刷題心得跟題庫分享 - Super9
刷題時間久了,對LeetCode 這個東西不禁感到又愛又恨。甚至是恨的層次居多,為什麼?我認為有以下幾個原因:. 真的用得到嗎? 當然,像146.
#16. LeetCode刷題高品質小班 - Candice先生
為什麼找軟體工程師工作需要刷Leetcode題庫? 現在美商軟體公司在招聘軟體工程師(Software Engineer)時,十分看重演算法程式解題能力, 面試有一大部分 ...
#17. LeetCode刷题笔记——LeetCode使用介绍_牛客博客
LeetCode刷题笔记——LeetCode使用介绍 · 1、熟悉各互联网公司的算法题目,为找工作做准备。 · 2、复习以前学过的编程语言,LeetCode支持几乎所有主流编程语言,大家可以用不同 ...
#18. 什麼是LeetCode? - pala.tw
LeetCode 是一個收集軟體工程師面試考古題的線上練功網站。 ... 例如「不使用加減號,完成兩個數字求和」、「給出羅馬數字回推阿拉伯數字,好比”VI”會 ...
#19. 刷完900 多道算法题的首次总结:LeetCode 应该怎么刷?
最近利用动图帮助大家理清做题思路,点赞和阅读数都比较高。 在这里插入图片描述. 除了题解区以外,如果想看博客上面的题解,可以用搜索引擎搜题目和博主 ...
#20. LeetCode 題庫大公開,應徵軟體工程師考前必看! | 面試經驗分享
所以如果你不會使用C++或是Java,沒有關係!還有14種語言給你選。 LeetCode現在有支援的程式語言:C, C#, C++, Python, Python3 ...
#21. 記性差的人如何有效率地用LeetCode 刷題?我跳槽用的筆記 ...
後來也分享給不少正要跳槽的朋友,因此這篇就來介紹一下如何使用這個表格來輔助自己刷題,文中也有放下載的連結,希望能幫助到更多需要的人! Leetcode 的 ...
#22. LeetCode介紹| Arton的部落格
這時可以把該筆input加到Custom Testcase方便測試。 Compile Error:程式碼編譯不過,也可以用"Run Code"測試出來。 Runtime Error:執行期錯誤,通常是 ...
#23. #討論刷LeetCode - 軟體工程師板 | Dcard
想問一下大家刷leetcode的流程是怎麼樣的。如題,本人刷了快70題,資料結構的部分大部分ok了,演算法的部分目前只接觸到Search的題目, ...
#24. LEETCODE 解題目思路與做專案的直接聯關連性,網友詢問我
在台灣的資訊工程系,課程裡面有教學「資料結構、演算法」,. 其實,Leetcode 就是上述兩個的結合。 Leetcode 的題目跟一般做程式 ...
#25. 前言· LeetCode 解題紀錄 - Mikeylin
Leet Code紀錄. 主要是記錄目前刷題的解法和思路. 如果不整理我想我之後一定會忘記. 語言為Java及Python並用. results matching "". No results matching ""
#26. 海外工作浪潮襲來? 快用LeetCode刷一波考古題吧! - 進度條
顧名思義,LeetCode是一個供使用者線上解程式題的服務,但除了讓使用者在網頁上直接寫code之外,他的強大可還不只這些,舉凡像是Facebook, Google.
#27. Leetcode刷题有什么用?Leetcode刷题有什么意义 - Uoffer
虽然刷题一直饱受诟病,不过不可否认刷题确实能锻炼我们的编程能力,相信每个认真刷题的人都会有体会。那么Leetcode刷题有什么用?Leetcode刷题有什么 ...
#28. 03.LeetCode 入门与指南 - 算法通关手册
人生苦短,我用 Python 。 2.4 LeetCode 刷题流程#. 在「2.2 LeetCode 题库—— 4. 题目详情」中我们介绍了题目的相关情况 ...
#29. C++ LeetCode 彙整- 嗡嗡的隨手筆記
我們使用cookies 以確保我們可以讓您在我們網站有最好的體驗。 ... C++ LeetCode · 【Leetcode】C++ – [5] Longest Palindromic Substring 個人筆記| 內含C++ ...
#30. Leetcode 刷題pattern - Topological Sort
TechBridge Weekly 技術週刊團隊是一群對用技術改變世界懷抱熱情的團隊。本技術共筆部落格初期專注於Web 前後端、行動網路、機器人/物聯網、資料分析 ...
#31. 算法通关手册:03 LeetCode 入门与攻略 - 掘金
在面试的时候往往需要一个小时内尽可能的完成更多的题目, C++ 一旦语法出错很容易慌乱。当然LeetCode 周赛的大神更偏向于使用 C++ 刷题,这是因为用 C++ ...
#32. 用來記錄無聊刷刷leetcode - GitHub
用來記錄無聊刷刷leetcode~. Contribute to NaClYen/leetcode development by creating an account on GitHub.
#33. 算法小白如何高效刷LeetCode? - 腾讯云开发者社区
本问题下面大部分回答介绍的都是『术』。而对于刷LeetCode这件事,无论你看到多少高明的的方法,如果你不能持之以恒,都没有用。所有在刷 ...
#34. [Day 8] 字串& leetcode 相關練習 - Kotlin Tips
今天要來講Kotlin 在字串上的處理,字串處理算是平日處理商業邏輯很常碰到的,所以不可掉以輕心。 substring. subtring 跟以往Java 使用的方式其實差不多. 這裡首先用 ...
#35. [心得] Leetcode 刷題解答與Python 3 小技巧分享- 看板Soft_Job
這份解答內涵蓋了781 題的Python 3 解法(太早期刷的題目就沒留解法了QQ), 寫這些解答的目的是為了還願並且回饋給還在努力的板友, 唯一的使用限制 ...
#36. 如何用IDEA刷Leetcode - 作业部落Cmd Markdown 编辑阅读器
如何用IDEA刷Leetcode · 1. 准备工作. 首先要有IDEA编译器; 其次要在leetcode注册账号 · 2. 下载插件. 找到设置 快捷键Ctrl+Alt+S 找到下载插件的地方
#37. 不只是刷題的Leetcode 訓練營 - 活動通
只是用刷題心態學習,無法真正提升實力,即便真的面試到工作了,上班後也會被發現只是解題機器。為了提升長期競爭力,開拓更寬廣的職涯可能性,ALPHA Camp 為非本科 ...
#38. [week 2] 先別急著寫leetcode - 虛擬碼、Debugger、解題技巧
如何撰寫Pseudo Code(虛擬碼)? 虛擬碼是程式碼與想法之間的橋樑,把解法用抽象的方式表示。 將剛才步驟二得到的可 ...
#39. [Python] 上LeetCode 程式解題網站,磨練程式與演算法技巧
不過UVa Online Judge 比較舊,. 雖然後來已經可以使用Java/Python 來答題,. 但整體網站的外觀還是比較陳舊,. 答題後也要等一段時間 ...
#40. 使用Python 練習LeetCode:50 種程式設計面試問題的演算法
在本課程中,您將得到詳細,逐步解釋的50 個精選LeetCode 問題,在其中你將瞭解程式設計面試中使用的最受歡迎的技術和問題,這是我希望當我面試時可以 ...
#41. 你不知道的LeetCode 技巧(第二篇) - 51CTO博客
今天来分享几个leetcode 通用小技巧,不管你是用什么语言刷题都可以使用。 tip1 - 中英文切换. 力扣中国部分题目描述由于翻译的原因,会变得难以理解, ...
#42. 演算法小白如何高效刷LeetCode?
所有在刷LeetCode這件事上,他的『道』就是:如何能持之以恆的保持刷題 ... 網站/APP使用篇 ... 如果你是學生,那麼恭喜你有一大把的時間用來刷題。
#43. [筆記] LeetCode 刷題記錄(26217219) – 3 - 地瓜大的飛翔旅程
本著作係採用創用CC 姓名標示-相同方式分享4.0 國際授權條款授權. 分類. 分類. 選取分類, 亞洲Asia ...
#44. LeetCode的使用方法- 个人文章 - SegmentFault
LeetCode 是一个上提供一系列的算法题,并且具备多种编程语言优秀在线编辑体验。在这样的基础之上,LeetCode 对于各类题目的描述简洁易懂, ...
#45. 全天八折優惠/HackerRank/Leetcode/Codility即時線上回覆/代 ...
如果需要預約,請直接用聊聊跟我們說, 您提出的時間我們會全力配合。 如果想您要優惠(即時服務不能使用),可按以下方式:完成訂單,下標給5顆星直接打折優惠請不要 ...
#46. Sliding Window – 陪你刷題 - haogroot's Blog
直接先來看leetcode 對應題目,再來探究Sliding Window 的操作框架會比較有 ... 如果能夠使用sliding window 技巧,可以將時間複雜度縮小到僅O(m) 。
#47. Javascript 刷LeetCode 學演算法- 排序 - 跟著節奏搖擺的工程師
在Javascript 中遇到排序問題,通常可直接使用原生function — sort()因此很少自己實…
#48. 【矽谷求職戰】「聽說你最近在刷題」:軟體工程師一定會遇到 ...
確認好input & output 後,再來思考題目可以用什麼類型的資料結構或演算法來解。 ... 和搜尋一樣,大部分準備面試的人都在用LeetCode 來「刷題」了。
#49. 怎麼刷LeetCode 刷得精? | Star Rocket Blog
哈囉讀者: 編輯最近試用了一個可以讓你在視訊通話時降低環境音的軟體「Krisp」,無論是使用Slack、Messenger、Zoom 都可以用Krisp 一鍵降噪,我跟同事 ...
#50. 來個三題LeetCode easy 吧· 小菜的Blog
Leetcode 刷題. 2019/11/07. 字數統計: 420閱讀時間: 2 min. 近期被問到用Ruby 解三題LeetCode easy 題目,分別是: ... 使用三元運算、遞迴
#51. 如何科学的打开Leetcode - 吴师兄学算法
考虑到读者的范围比较广,先对Leetcode 做个科普。 它是一个编程实践网站,主要注重于培养使用者的编程技巧,去解决一些巧妙的算法题。 这是它 ...
#52. LeetCode如何正确刷题?刷题误区和方法论分享 ... - 图灵星球
1. 掌握一门基本的编程语言:很多刷题小白喜欢使用JavaScript或者Python这些动态或脚本语言,因为语言本身简单,但若将这些语言用于刷题,有很大几率会让 ...
#53. Chrome 線上應用程式商店 - LeetCode Night
1,000+ 位使用者. 總覽. 深夜刷題必備良伴:LeetCode 深色模式擴充功能 . LeetCode Night 是一個免費的Chrome 擴充功能,用於啟用題目頁面的深 ...
#54. 推薦課程:從LeetCode 學演算法|基礎篇
講解的過程是這樣,講師先選一個演算法,然後選LeetCode 上的幾個題目,做進一步講解。 想上這門課的朋友,最好具備基本的程式基礎,教學的語法是用Python ...
#55. 用Rust 刷Leetcode 的一點行前建議
然而,刷LeetCode 或是各種演算法題庫的主要目的,無非是為了訓練個人對於 ... 對於初入這類演算題庫者,還是比較建議先使用其它更易用的語言,專注於 ...
#56. 使用PHP 解Leetcode:1431. Kids With the Greatest Number ...
使用 PHP 解Leetcode:1431. ... 宣告一個 $max 變數並設定初始值為 0 ,用於放置最大數值。 ... 宣告一個陣列 $ans ,用於放置要回傳答案之陣列。
#57. LeetCode 刷題指南(1):為什麽要刷題- IT閱讀
對題目這裏捅捅那裏搗搗,用上所有的已知量,或使用所有你想到的操作手法,嘗試著看看能不能得到有用的結論,能不能離答案近一步(回溯算法中走不通就 ...
#58. 如何高效使用LeetCode - 每日頭條
為什麼要使用LeetCode 呢? LeetCode 相比其他編程平台有著很多優勢:. 各大知名公司面試真題:對於求職者在這上面訓練更 ...
#59. LeetCode解題筆記-6 Combination Sum IV - HardCo.
LeetCode 中的Combination Sum IV 這題我最後沒有解出來,之前在刷LeetCode的題目時,還是會常常想要依靠自己的腦袋去解題,所以會用很直觀的方式去 ...
#60. 如何高效使用LeetCode - 壹讀
大中小企業都在使用:常常會直接或者間接使用LeetCode的題目資源,依然慢慢成為考核技術能力和思維方式的黃金標準。支持13+種程式語言:Ruby、Swift、
#61. LeetCode 解題紀錄目錄 - Clay-Technology World
在LeetCode 中解題,有著非常明顯的兩個指標:. 使用的時間; 使用的空間. 與此同時,這兩種指標的呈現方式是與之前提交過的使用者們做比較,所以程式 ...
#62. Combination Sum - LeetCode
Combination Sum - Given an array of distinct integers candidates and a target integer target, return a list of all unique combinations of candidates where ...
#63. 刷完LeetCode 是什么水平?能拿到什么水平的offer?
本文整理自知乎问答,仅用于学术分享,如有侵权,请联系后台作删文处理。 观点一“面试是与人交流的过程” 作者|硅谷IT ...
#64. 關於編碼面試,沒人告訴你的事(為什麼leetcode不管用 ...
關於編碼面試,沒人告訴你的事(為什麼leetcode不管用? (What no one tells you about coding interviews (why leetcode doesn't work)) · 4 0. 林宜悉 ...
#65. 拿下6家offer经验分享:刷LeetCode这件事,其实不靠努力!
背完LeetCode 面试无压力当下求职市场,坑少人多,竟争激烈,要想脱颖而出,必须在刷题 ... 刷题模版:含算法和数据结构的使用条件、复杂度、万用模板.
#66. 高效正确使用LeetCode | Geekclub.cc
目标刷了两遍LeetCode,只做了前200道LeetCode练习准备面试一般都是给一张白纸或者在线解题; 2.解题完,要多参考各种答案,对比各种解题思路; 3.
#67. 矽谷資深女工程師Lucy-刷題神器Leetcode 超好用功能報給你知!
Leetcode 八五折推薦連結https://leetcode.com/subscribe/?ref=U4kJfuCh 大公司像亞馬遜谷歌的面試準備題庫讓你事半功倍先看解答融會貫通再練習更有 ...
#68. LeetCode 刷题指南(一):为什么要刷题| Just For Fun
对题目这里捅捅那里捣捣,用上所有的已知量,或使用所有你想到的操作手法,尝试着看看能不能得到有用的结论,能不能离答案近一步(回溯算法中走不通就 ...
#69. 力扣(LeetCode)官网- 全球极客挚爱的技术成长平台
发现递归算法好像只适用于树形结构,其它数据结构似乎就算可以用递归做,也往往不是最优解/唯一解,不知道我的理解 ... 新增题目评分功能| 浏览器扩展Refined LeetCode.
#70. Leetcode Debugger - bei BSFM-A. Kramer
Leetcode Debugger执行Add executable for single c/cpp file 后, Run/Debug 中没有新的 ... 创建Leetcode文件,并使用C/C+ + Single File Execution 创建启动项目.
#71. Leetcoe
Welcome to "LeetCode in Java: Algorithms Coding Interview Questions" course! ... 使用栈的数据结构,即前序遍历以右左中顺序入栈,中序遍历以右中左顺序入栈,后 ...
#72. Leetcode 2 - wohnen auf zeit in dresden
LeetCode contains multiple coding problem collections separated into 4 categories: ... Algorithm for Course Schedule II – LeetCode Initialize an integer n ...
#73. Leetode - Massimo Franco
Leetcode solutions, algorithm explaination, in Java Python C++. ... LeetCode刷题; Shiro 使用Tok; vue中父组件改变子组件; 如何利用VsCode ; 算法(leetode 附; ...
#74. Leetcode Facebook - Heute wie Damals
Coding Interviews First Bad Version (LeetCode) question and explanation. ... 解题思路: 遇到删除链表节点,就能使用虚拟节点,这样方便操作。
#75. 拿下6家offer经验分享:刷LeetCode这件事 ... - 北美生活引擎
LeetCode 刷题模板(共70页). ⭐ 刷题模版:含算法和数据结构的使用条件、复杂度、万用模板. ⭐ 大厂题库:含最新高频题,易挂题,并新增独角兽题库.
#76. Tiktok Leetcode - S.E.N.-TECH
Tiktok LeetcodeYour Anonymous Workplace Community. CATiktok jobs in Mountain View, CARelaymile jobs in Livermore, CALeetcode jobs in Palo Alto, ...
#77. [LeetCode] 1061. Lexicographically Smallest Equivalent String
所以这道题我们的思路是用并查集先把a 里的字符和b 里的字符连通起来,并用字典序最小的点做这个连通分量的父节点。之后我们遍历 baseStr 的时候,对于 ...
#78. Leetcoe
Extension for Visual Studio Code - Solve LeetCode problems in VS Code. ... 文章目录哈希表与字符串哈希表基础知识HashMap 基本使用leetcoe例1:最长回文串(409) ...
#79. Leetcode:17. 电话号码的字母组合(C++)|其他 - 实例吧
原理思路:. 1、首先是写出数字和字母的映射关系,这里我们用的哈希表,当然也可以用数组, ...
#80. CodeTop企业题库
3. 无重复字符的最长子串 中等 2023‑01‑13 未做 笔记 545 206. 反转链表 容易 2023‑01‑02 未做 笔记 532 146. LRU缓存机制 中等 2023‑01‑05 未做 笔记 432 215. 数组中的第K个最大元素 中等 2023‑01‑05 未做 笔记 380
#81. josephus problem leetcode - EnergyWatch.it
Create Josephus problem - Leetcode. 41 in binary is 101001. Step 2: Now, the counting starts from position 3. E. The current chair position is calculated by ...
#82. Leetode
LeetCode is the best platform to help you enhance your skills, ... LeetCode刷题; Shiro 使用Tok; vue中父组件改变子组件; 如何利用VsCode ; 算法(leetode 附; ...
#83. Leetcode For Students - cloud quartier
LeetCode Premium discount if 50 students/alumni sign up with wgu. ... Twitter SQL interview Questions – Leetcode 580 – Count Student Number student and ...
#84. battleship leetcode - Travelway
In other words, they can only be made of the shape 1xN (1 row, N columns) or Nx1 (N rows, 1 column), where N can be of any size.
#85. pe abaqus
Neper 安装与使用The stress rate obtained with user subroutine VUMAT may ... kubota rtv 1100 transmission drain plug location; leetcode sql questions and ...
#86. Mac社区
在Apple iMac、MacBook Pro 或MacBook Air 上使用和安装Trados Studio 翻译记忆库软件 ... 社区文档首页《开发者读书秘籍-学会写拆书稿》 《使用手册》 《LeetCode HOT ...
#87. Re: [閒聊] 每日LeetCode - Marginalman - PTT Web
Re:[閒聊]每日LeetCode@marginalman,共有1則留言,1人參與討論,0推0噓1→, 2359. Find Closest Node to Given Two Nodes給你一個用邊表示的有向圖 ...
#88. 高效制胜:程序员面试典型题解 - Google 圖書結果
LeetCode LeetCode 是推荐最多的算法题练习网站,本书的算法题也都精选自 LeetCode。我认为LeetCode有以下几个优点。 1.测试覆盖率高。在提交代码以后,LeetCode会跑很多 ...
#89. GitBook - Where technical teams document.
GitBook makes it easy to research, plan and document products, from start to ship.
#90. Typosquatting palantir leetcode - blurry bay
5k daily-active users using the platform, 2 in 5 leetcode Typosquatting, ... on Typosquatting-palantir-leetcode frowend. palantir hackerrank 2020 Your task ...
leetcode怎麼用 在 [心得] Leetcode 刷題解答與Python 3 小技巧分享- 看板Soft_Job 的推薦與評價
嗨,大家週末愉快!
不知道還記不記得之前小弟有分享面試 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
同意,所以我文中有說有些人喜歡有些人不喜歡,選自己喜歡的用就好,
像是我個人比較偏好用 dict.setdefault 建 trie 而不是用 defauldict,
但這些技巧的背後都代表著一些語言特性,了解一下並不吃虧。
而且說句實在話,限制短時間的面試 跟 長期維護的產品,出發點並不能一概而論。
沒錯,絕對不要背答案,一個變化就倒了,該學習的是每題背後用到的觀念。
然後這份的解法就是揉合了討論區跟解答寫出來的 XD
因為發現有時候 leetcode 解答反而不是最佳解,
像是 Morris traversal 就只有少數幾篇解答有提到,但超多題目其實都可以用。
沒有耶,在學期間是有修過幾門 AI/ML 相關的課程,
出社會後主要是在做 web/app 的開發。
... <看更多>