
leetcode題目分類 在 コバにゃんチャンネル Youtube 的最佳貼文

Search
Leetcode (https://leetcode.com/)本身并没有顺序, 并且类别分的并不是非常好, ... 《题型技巧总结》课程中有最终Leetcode分类顺序表版本,更细致,每种题目对应 ... ... <看更多>
记录leetcode(题目+思路+代码). Contribute to f0rest9999/MyLeetCode development by creating an account on GitHub. ... <看更多>
#1. Leetcode面试高频题分类刷题总结 - 知乎专栏
这是本人在7个月刷了500道Leetcode题目并成功拿到几家北美Software Engineer Offer之后总结的Leetcode高频面试题目分类总结。这篇是高频题目的概述性总结,以后有时间 ...
#2. [番外篇] 解LeetCode 之前 - iT 邦幫忙
後來決定先刷同一個類型,例如Array 30 題刷完再刷String 這樣。刷完30 題其實這個類型題目跟概念也大致上有了解。 https://ithelp.ithome.com.tw/ ...
#3. LeetCode分類刷題——LinkedList | 程式前沿
所有題目的代碼在github.com/halfrost/Le…,每道題都有測試用例和測試代碼。 Linked List 的Tips: ... LeetCode分類刷題——LinkedList.
刷LeetCode刷到懷疑智商? ... 很多同學反饋在刷LeetCode/LintCode時,總覺得題目太多無從下手,又或者盲目刷題適得其反。 ... 題目分類大綱如下:.
前言这是根据LeetCode大佬noone_所编写的《有没有人一起从零开始刷力扣》优化的刷题表格,在原表格的基础上增加了引导链接,点击题目编号即可打开对应 ...
LeetCode题目 ❤分类整理,前言这是根据LeetCode大佬noone_所编写的《有没有人一起从零开始刷力扣》优化的刷题表格,在原表格的基础上增加了引导链接, ...
Leetcode (https://leetcode.com/)本身并没有顺序, 并且类别分的并不是非常好, ... 《题型技巧总结》课程中有最终Leetcode分类顺序表版本,更细致,每种题目对应 ...
#8. 1. Leetcode 分类顺序表第二版(增加重点250题). 1.1. 前言
所以我根据我自己的刷题经验总结,对Leetcode这个网站的题目重新进行分类划分,并按照先易后难的顺序,针对每个分类下面,进行排序。旨在让从来没有刷过题的人,可以有一个 ...
#9. 北美算法面试的题目分类,按类型和规律刷题,事半功倍 - 极市
算法面试过程中,题目类型多,数量大。大家都不可避免的会在LeetCode上进行训练。但问题是,题目杂,而且已经超过1000道题。全部刷完且掌握,不是一件 ...
#10. Leetcode刷題指南和top100題目 - 台部落
# Title Acceptance Difficulty 1 Two Sum 40.2% Easy 2 Add Two Numbers 30.4% Medium 3 Longest Substring Without Repeating Characters 26.1% Medium
#11. MyLeetCode/leetcode题目分类索引.md at main - GitHub
记录leetcode(题目+思路+代码). Contribute to f0rest9999/MyLeetCode development by creating an account on GitHub.
#12. LeetCode题目 分类整理_綦枫的博客-程序员宅基地
前言这是根据LeetCode大佬noone_所编写的《有没有人一起从零开始刷力扣》优化的刷题表格,在原表格的基础上增加了引导链接,点击题目编号即可打开对应的题目。
#13. leetcode题目分类总结 - 代码交流
leetcode题目分类 总结. 顶一下不顶了顶0踩一下不踩了0. 数组排序算法总结. 循环右移K位. #1 两数之和. #53 最大子序和. #4 寻找两个正序数组的中位数. #48 旋转图像.
#14. 面试题|【分类整理】面试最常考的100 道算法题 - 力扣
大家好,我是负雪明烛,一位用7 年写了1000 篇LeetCode 算法题题解的程序员。欢迎关注。 粉丝常说:LeetCode 算法题太多了,准备面试该刷哪些题目?
#15. LeetCode题目分类 - 掘金
链表序号名称题解反转链表leetcode 206删除链表的节点剑指Offer 18移除链表元素leetcode 203链表中倒数第k个节点剑指offer 22 ... LeetCode题目分类.
#16. leetcode 1~400知识点&题型总结&leetcode对应题表 - 面试哥
LeetCode-book · Leetcode知识点详解&题型总结 · LeetCode题目分类 · LeetCode 1~400顺序题解.
#17. leetcode题目分类/总结_acmlions的博客-程序员信息网
因为找工作最近一直在刷leetcode,网上看了很多的题目分类不是非常的完整,因为现在leetcode已经有大概500道题了。所以希望自己能够总结一些自己做过的leetcode的题目 ...
#18. LeetCode 解題筆記(String類型題目) - HackMD
LeetCode 解題筆記(String類型題目) 解題時要注意的重點1. 一題多解,找不同的思維;可以看討論區的解題方法2. 不要盲目刷題,至少要帶走一些想法3.
#19. LeetCode 解題的思考策略,刷題的4個階段 - ALPHA Camp
如果你還是學生或是正在讀程式設計、資料結構、演算法之類的理論課程,那麼你可以搭配LeetCode 中的題目分類,針對目前進行的章節選擇相對應的題目 ...
#20. 軟體工程師面試考試題庫,LeetCode有2000題,要怎麼練!
LeetCode 現在有支援的程式語言:C, C#, C++, Python, Python3, Java, JavaScript, Ruby, Swift, Go, Scala, Kotlin, PHP, Rust, TypeScript, Racket。而你 ...
#21. LEETCODE刷題順序_其它 - 程式人生
特定順序遍歷二維陣列 54、59、498. 二維陣列變換 566、48、73、289. 字首和陣列 303、304、238. 題解 陣列篇. 2、字串. 題目分類 題目編號. 字元 520.
#22. LeetCode题目 分类整理_綦枫的博客-程序员秘密
前言这是根据LeetCode大佬noone_所编写的《有没有人一起从零开始刷力扣》优化的刷题表格,在原表格的基础上增加了引导链接,点击题目编号即可打开对应的题目。
#23. LeetCode题目分类 - 简书
数组和字符串“题目怎么说,你就怎么做”,这类题目一般不涉及高深的算法,着重考查的是代码能力和思维。 当然,有时候题目描述会 ... LeetCode题目分类.
#24. 分类: leetcode
一直没好好刷刷Graph 的题目,从Leetcode graph 套餐 第一个题310. Minimum Height Trees 开始吧。 阅读更多. 3 年前 发表 8 个月前 更新leetcode ...
#25. [笔记]Leetcode题型总结 - NGGames | 造梦者
对力扣的1-700 题中不需要会员的数据结构与算法题目(数据库与shell 除外)进行分类,并推荐一个刷题的顺序。
#26. leetcode 题目分类对照表 - 苟有恒
分类 · 数组 · 链表 · 数组/链表 · 栈 · 哈希表 · 队列 · 队列/栈 · 堆.
#27. 花花酱LeetCode Problem List 题目列表
花花酱LeetCode Problem List 题目列表. Data source: link suggestions and comments are welcome(需要科学上网). Tree(树) ...
#28. Github 項目推薦| LeetCode題目分類與面試問題整理
題目分類 · Hash相關 · 鏈表操作 · 雙指針遍歷/滑動窗口 · 快慢指針遍歷 · 區間合併 · 字元串操作 · 數字操作 · 數組操作.
#29. Github 项目推荐| LeetCode题目分类与面试问题整理
题目分类 · Hash相关 · 链表操作 · 双指针遍历/滑动窗口 · 快慢指针遍历 · 区间合并 · 字符串操作 · 数字操作 · 数组操作.
#30. 求推荐好的leetcode分类- 刷题
本人新手,刷了一百多道,但是刷题一直不得要领,都是乱刷,感觉一百道题下来都没有太大的长进,打算按照网上的一些大神的分类刷,请问各位有没有好的 ...
#31. Leetcode题目分类指南(单独刷题或学习算法书籍配合使用)-博客
Leetcode题目分类 指南 笔者在学习《算法导论》同时,希望能够配合Leetcode的题目进行分类模块化练习,该分类为笔者自己根据做题学习经验,结合《算法 ...
#32. ACM金牌選手整理的【LeetCode刷題順序】 | IT人
陣列&雙指標 · LeetCode 1. 兩數之和 · LeetCode 4. 尋找兩個正序陣列的中位數 · LeetCode 15. 三數之和 · LeetCode 75. 顏色分類 · LeetCode 76. 最小覆蓋子串.
#33. LeetCode题目分类与面试问题整理
LeetCode题目分类 与面试问题整理 https://mp.weixin.qq.com/s/hoOBTDBmE666-NcMDOzdoQ ,CodeAntenna技术文章技术问题代码片段及聚合.
#34. 随笔分类- LeetCode题目分类解答- 番茄汁汁 - 博客园
随笔分类- LeetCode题目分类解答. LeetCode递归解题模板. 摘要:39 40 78. Subsets https://leetcode.com/problems/subsets/description/ void ...
#35. 小哲AI-秋招leetcode分類刷題指南 - 每日頭條
秋招已經基本結束,重新整理一下各種筆記資料,這裡整理一下leetcode分類刷題的資料。「github地址」:https://github.
#36. Leetcode – 第5 頁
分類 : Leetcode. Topological Sort – 陪你刷題. 如何辨識Topological 類型題目? 1. 給你一組資料,資料之間存在先後關係(例如:元素A 一定要先於元素B),要你排出 ...
#37. 關於leetcode刷題詳細介紹- IT閱讀
一、選擇題目型別最上面標籤欄Problems,給出了三個分類:Algorithms、Database、Shell,分別表示演算法題、資料庫題、Shell指令碼題,第一個就是我們所 ...
#38. LeetCode题目分类_weixin_34010566的博客-程序员ITS404
本书包含了LeetCode Online Judge(http://leetcode.com/onlinejudge) 所有题目的答案,所有代码经过精心编写,编码规范良好,适合读者反复揣摩,模仿,甚至在纸上默写 ...
#39. Leetcodebook - leetcode 1~400知识点&题型总结&leetcode ...
LeetCode-book · Leetcode知识点详解&题型总结 · LeetCode题目分类 · LeetCode 1~400顺序题解.
#40. leetcode 分类题解 - 帅地玩编程
对于刷题相关的文章,在之前我也推荐过不少,今天在给大家推荐一份算法刷题笔记,这份笔记与以往的刷题有所区别,作者把Leetcode 一千多道题都进行了系统 ...
#41. 从零开始刷力扣– 刷题列表【玩转力扣】 - 极客中心
对于萌新们来说,按照推荐顺序刷,能更好地掌握数据结构与算法基础。 题目分类及刷题顺序推荐. 一. 数组. 题目分类, 题目编号 ...
#42. 標籤: leetcode - 程式碼花園
分類 : 部落格 標籤: java、leetcode、排序算法、算法、貪心算法 ... 文章目錄最強解析面試題:DecodeWays題目示例1示例2示例3思路代碼附錄最強解析面試題:DecodeWays ...
#43. Introduction · LeetCode题解 - siddontang
所以我们为了撬开算法的大门,各自刷完了一遍LeetCode的题目,这其中碰到了很多 ... 我们准备按照LeetCode的题型分类来组织章节,譬如Array,Hash Table等,而对每个 ...
#44. 北美算法面試的題目分類,按類型和規律刷題,事半功倍
算法面試過程中,題目類型多,數量大。大家都不可避免的會在LeetCode上進行訓練。但問題是,題目雜,而且已經超過道題。 全部刷完且掌握, ...
#45. Leetcode演算法題分類解析一總覽 - w3c學習教程
Leetcode 演算法題分類解析一總覽,原文1 為何如何刷題1 1 必要性刷題刷題,從刷字就能看出其中的機械性和應試性,但這就是幾乎所有it公司面試中的一環 ...
#46. 拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获 ...
今天,你刷LeetCode了吗? 最近,GitHub上这样一套LeetCode笔记火了。 一位Java研发工程师分享了一个名为「LeetCode题目分类与面试问题整理」,一时间 ...
#47. LeetCode重要题目分类| 一直在路上 - EADST
最近刷了不少LeetCode的题,刷题过程中参考了许多大神的题目分类,现在将它们分类,以便以后刷题时利用。 Binary Tree.
#48. 【寫Code】01-使用LeetCode刷題 - 創作大廳
好久沒在巴哈上發文了,這篇主要是要教朋友用LeetCode而寫的。 ... 一、為何要用Leetcode刷題? 1.題目廣泛. 2.介面簡潔 ... 題目分類與難度明確.
#49. 花花酱LeetCode进入千题时代该如何刷题?1/2
#50. [心得] Leetcode 刷題解答與Python 3 小技巧分享- 看板Soft_Job
這份解答內涵蓋了781 題的Python 3 解法(太早期刷的題目就沒留解法了QQ), ... conquer 這個經典分類, 因為好像幾乎沒遇到過哪題是只能使用divide ...
#51. [程式設計] LeetCode 介紹 - Justim的喃喃自語
進入網站後,點選上面的problems 選單,就可以進入問題清單。 LeetCode網站,選擇Problems 選項,瀏覽所有的題目. 然後就會出現題目分類,以 ...
#52. ACM金牌选手整理的【LeetCode刷题顺序】 - InfoQ 写作平台
后面是为大家精心挑选的LeetCode题单,并根据题目知识点的类型分好了类别,大家可以根据每个知识点,进行有针对性的刷题。数据结构数组&双指针LeetCode 1.
#53. LeetCode分类顺序表
此表为LeetCode分类顺序表,先易后难,并提供LeetCode前400重点250题版本。 Array. 题号, 题目链接, 题目说明, 完成时间, 备注. 基础.
#54. Leetcode题目分类:类型+难易_说自己行就行-程序员ITS201
Leetcode题目分类 :类型+难易_说自己行就行-程序员ITS201. 技术标签: LeetCode. === 十月十五日更=== 题已刷完,这篇总结还落下不少进度。这个网站本属于个人博客, ...
#55. LeetCode刷题指南(按算法分类)_Fan-程序员 ...
LeetCode 刷题指南leetcode不仅对于我们找工作有帮助,还能修炼我们的软件内功。前期刷了一些题,看了很多大神的解题法和总结,但是总感觉不成章法因此自己也记录总结 ...
#56. 别再埋头刷LeetCode之:北美算法面试的题目分类,按类型和 ...
找规律,总结才是制胜法宝. 下面我们就来看看 Grokking the Coding Interview: Patterns for Coding Questions 的分类及每个类型的经典题目: 1. Pattern: Sliding window, ...
#57. 他的LeetCode刷题经验在GitHub上收获1.3k星| 量子位
今天,你刷LeetCode了吗? 最近,GitHub上这样一套LeetCode笔记火了。 一位Java研发工程师分享了一个名为「LeetCode题目分类与面试问题整理」,一时间 ...
#58. LeetCode题目 分类整理_綦枫的博客-程序员宝宝
前言这是根据LeetCode大佬noone_所编写的《有没有人一起从零开始刷力扣》优化的刷题表格,在原表格的基础上增加了引导链接,点击题目编号即可打开对应的题目。
#59. 他的LeetCode刷题经验在GitHub上收获1.3k星 - 雪球
今天,你刷LeetCode了吗? 最近,GitHub上这样一套LeetCode笔记火了。 一位Java研发工程师分享了一个名为「LeetCode题目分类与面试问题整理」,一时间 ...
#60. LeetCode究极版题型分类
DP · 滑动窗口 · 二分 · DFS · 模板题 · 数组(链表)翻转 · 观察找规律和小技巧 · 经典问题.
#61. Leetcode 前400分类顺序表
1,Leetcode Java 版本视频讲解. 6 · 2,算法基础知识(Java 5小时讲完针对做题,零基础学起). 7 · 3,题型技巧讲解(3000题总结方法套路).
#62. 他的LeetCode刷题经验在GitHub上收获1.3k星 - 澎湃新闻
今天,你刷LeetCode了吗? 最近,GitHub上这样一套LeetCode笔记火了。 一位Java研发工程师分享了一个名为「LeetCode题目分类与面试问题整理」,一时间 ...
#63. [心得] LeetCode高效刷題心得分享- 看板Soft_Job | PTT職涯區
... 再去刷其他題或公司高頻題影片的敘述欄中我有提供自己整理的題型分類及重要的一百題的excel檔給大家下載其他的刷題心得及分享歡迎觀看我的影片!
#64. <转>LeetCode 题目总结/分类- 相关文章 - 术之多
LeetCode :颜色分类[75] 题目描述给定一个包含红色.白色和蓝色, ... 2016-09-24,开始刷leetcode上的算法题,下面整理一下leetcode题目清单.Github-leetcode 1.
#65. 【leetcode】题目类别整理汇总_要加油-程序员资料
更新中。。。相关代码及思路见github-leetcode. ... 【leetcode】题目类别整理汇总_要加油-程序员资料_leetcode题目分类. 技术标签: leetcode. 更新中。
#66. LeetCode按照怎樣的順序來刷題比較好? - 人人焦點
按tag 分類刷; 定期複習,重做之前刷過的題. 掌握LeetCode 刷題方法再開始刷題,屬於磨刀不誤砍柴 ...
#67. LeetCode 第一題- Two Sum 解法- 為自己Coding (@CHWang)
1. LeetCode 網站如何開始刷題? · Step 1: 打開LeetCode網站,並登入 · Step 2: 點擊Problems · Step 3: 塞選題目,並挑選出自己想要的分類題目 · Step 4: ...
#68. LeetCode 题目分类与面试问题整理 - 极思路
分享计算机视觉、机器学习、深度学习各个研究领域的GitHub资源列表,包括数据集、论文、代码、牛人主页等. 举报. 猜你喜欢. 关于极客头条. 聚合每日国内外有价值,有趣 ...
#69. [心得] Leetcode 刷題解答與Python 3 小技巧分享 - PTT 熱門 ...
這份解答內涵蓋了781 題的Python 3 解法(太早期刷的題目就沒留解法 ... and conquer 這個經典分類, 因為好像幾乎沒遇到過哪題是只能使用divide and ...
#70. LeetCode按照怎樣的順序來刷題比較好? - GetIt01
Leetcode 右側的標籤系統雖然未必100% 完整,但是大致分類做得還不錯。 3、面試前的一個月可以只做『Hard』標籤的題目,因為一般兩遍之後對於大 ...
#71. LeetCode 题目总结/分类- 日记 - 豆瓣
LeetCode 题目 总结/分类注:此分类仅供大概参考,没有精雕细琢。有不同意见欢迎评论~ 欢迎参考我的leetcode代码利用堆栈: ...
#72. 算法题目分类丨高频LeetCode面试汇总_哔哩哔哩(゜
#73. LeetCode按照怎樣的順序來刷題比較好? - 石頭閱讀
第一次刷leetcode不要去碰類型非常難的題目,例如動態規劃,圖論里的各種最短路,最小生成樹之類的! leetcode中題目難度有簡單 ...
#74. LeetCode 按照怎样的顺序来刷题比较好? - 吴师兄学编程
如果你想要开始刷题,那么第一步就是:打开LeetCode 官网,点击标签,选择一道顺眼的题目开始刷。 ... 下面是我当年刷题的一部分分类的截图:.
#75. LeetCode 动态规划题目分类汇总 - 作业部落
Unique Paths. A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).
#76. leetcode分类题集_牛客博客
牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题, ...
#77. Leetcode 刷題pattern - Cyclic Sort - TechBridge 技術共筆部落格
身在大CS 時代,有越來越多人投入刷題的行列,在眼花撩亂的題海中,要想有效率地刷題,就需要掌握題目解法中,可以在許多地方應用的觀念,才能以 ...
#78. [ALG101] 先別急著寫leetcode | Lidemy 鋰學院
刷題。 這邊的刷題通常指的就是去知名網站leetcode 上面寫題目,寫越多題代表越厲害, ... 打好程式基礎; 學習資料結構與演算法; 去leetcode 練習題目.
#79. leetcode 853. Car Fleet | 853. 车队(Golang)_其他 - 大数据 ...
leetcode 853. Car Fleet | 853. 车队(Golang). 分类:其他发布于1小时前. 题目. https://leetcode.com/problems/car-fleet/ ...
#80. 关于leetcode:Golang力扣Leetcode中级算法数组和字符串字母 ...
题目 :给你一个字符串数组,请你将字母异位词组合在一起。能够按任意程序返回后果列表。 字母异位词是由重新排列源单词的字母失去的一个新单词,所有 ...
#81. Leetcode 算法面试冲刺实战十五(二叉搜索树)(二十九) 原创
吸取了上一道题的教训,用了最简单的方法,不过看了答案,还是觉得自己想少了。 class Solution: """ @param root ...
#82. 目前辞职在家,想面试一下试试水,结果笔试题一做emo 了
Java 转行,目前加起来Java 开发经验一年多一点,HR 给我发了两道题,第一 ... 最后还是没答完,后面去leetcode 上看了一下,应该是属于hard 难度的。
#83. 2月组队学习计划! - 技术圈
课程由Datawhale、天池、Leetcode联合打造。 任务路线:知识点讲解与重点题目解析,助力数据结构与算法学习。 学习周期:24天.
#84. python图像分类问题
题目 : https://img blog.csdnimg.cn/1af1021cfd4949378d352ac7c7f370e1.png?x oss process=image/watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA54aK77iP5YWU, ...
#85. Dice coefficient pytorch less than 1%. Dice Coefficient = \frac{2 ...
Log loss交叉熵,二分类交叉熵的公式如下:pytorch代码实现:#二值交叉熵,这里 ... 二叉树相关问题2020-10-15 爱奇艺18年春招编程题题目汇总LeetCode 剑指Offer 66.
#86. 一个CV算法工程师在技术方面的小反思
当然是重中之重,leetcode不仅仅是招聘的筛选标准,也是锻炼一个人算法思维的重要手段。虽然不得不说hard的题一般都是有一些ACM的技巧性在里面,但是我 ...
#87. Count all distinct pairs with sum equal to k leetc - Data4
这份文档列出了leetcode几乎所有题目(大约134题)的分类以及难度指示,是刷leetcode的必备良品。现在leetcode Count Pairs Of Nodes: C++: Hard: 1781: Sum of Beauty ...
#88. Zoox interview leetcode. Level up your coding skil - End ...
Solving Tesla's 2020 Most Asked Interview Question 分类专栏: LeetCode ... Sliding Window 的第一個範例- Leetcode #496 - Next Greater Element I 題目.
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 的開發。
... <看更多>