【leetcode】解题日记(未完待续)
開坑,有生之年系列,希望有一天能解出 leetcodeleetcodeleetcode 上的所有題目。
寫題解好麻煩,懶得寫(手動(dòng)狗頭),進(jìn)度如下,不定期更新。
| 2058 | 232 | 191 |
{∣∣∣∣050100簡單:95+一般:77+困難:19+\def{\cGreen}{#52C41A}\def{\cOrange}{#F39C11}\def{\cYellow}{#FADB14}\def{\cRed}{#E74C3C}\def{\colorOfLine}{#A9A9A9}\def{\colorOfDivide}{#000000}\def{\colorOfName}{#000000}\def{\colorOfBox}{#000000}\def{\colorOfContent}{#000000}\newcommand{\item}[2]{ \color{\colorOfName} \textbf{#1:} \text{#2} &}\newcommand{\add}[2]{ \fcolorbox{\colorOfBox}{#2} {\normalsize\vphantom{+}\kern{#1 mm}}}\newcommand{\main}[3]{ \boxed{ \color{white} \begin{cases} &\color{\colorOfLine} \kern{4pt} \begin{vmatrix} \raisebox{60pt}{} \kern{48.56mm} \end{vmatrix} \kern{-5.5pt} \begin{vmatrix} \raisebox{60pt}{} \kern{48.56mm} \end{vmatrix} \kern{-5.5pt} \\[-75pt] &\color{\colorOfDivide} \scriptsize \kern{4 pt} \text{0} \kern{48.2mm} \text{50} \kern{47 mm} \text{100} \\[3pt] \item{簡單}{#1} \add{#1}{\cGreen} \\[3pt] \item{一般}{#2} \add{#2}{\cOrange} \\[3pt] \item{困難}{#3} \add{#3}{\cRed} \end{cases} } \\}\main{95}{77}{19}??????????????????簡單:95一般:77困難:19?∣∣∣∣∣∣∣∣∣∣??∣∣∣∣∣∣∣∣∣∣?∣∣∣∣∣∣∣∣∣∣??∣∣∣∣∣∣∣∣∣∣?050100+?+?+???
【leetcode】1. 兩數(shù)之和(two-sum)(模擬)[簡單]
【leetcode】2. 兩數(shù)相加(add-two-numbers)(模擬)[中等]
【leetcode】6. Z 字形變換(zigzag-conversion)(字符串)[中等]
【leetcode】8. 字符串轉(zhuǎn)換整數(shù)(atoi)(模擬)[中等]
【leetcode】9. 回文數(shù)(palindrome-number)(字符串)[簡單]
【leetcode】10. 正則表達(dá)式匹配(regular-expression-matching)(DP)[困難]
【leetcode】13. 羅馬數(shù)字轉(zhuǎn)整數(shù)(roman-to-integer)(模擬)[簡單]
【leetcode】14. 最長公共前綴(longest-common-prefix)(字符串)[簡單]
【leetcode】18. 四數(shù)之和(4sum)(模擬)[中等]
【leetcode】19. 刪除鏈表的倒數(shù)第N個(gè)節(jié)點(diǎn)(remove-nth-node-from-end-of-list)(雙指針)[中等]
【leetcode】20. 有效的括號(hào)(valid-parentheses)(堆棧)[簡單]
【leetcode】24. 兩兩交換鏈表中的節(jié)點(diǎn)(swap-nodes-in-pairs)(模擬)[中等]
【leetcode】26. 刪除排序數(shù)組中的重復(fù)項(xiàng)(remove-duplicates-from-sorted-array)(雙指針)[簡單]
【leetcode】31. 下一個(gè)排列(next-permutation)(模擬)[中等]
【leetcode】32. 最長有效括號(hào)(longest-valid-parentheses)(模擬)[困難]
【leetcode】35. 搜索插入位置(search-insert-position)(二分)[簡單]
【leetcode】37. 解數(shù)獨(dú)(sudoku-solver)(回溯)[困難]
【leetcode】39. 組合總和(combination-sum)(回溯)[中等]
【leetcode】40. 組合總和 II(combination-sum-ii)(回溯)[中等]
【leetcode】43. 字符串相乘(multiply-strings)(模擬)[中等]
【leetcode】44. 通配符匹配(wildcard-matching)(BFS)[困難]
【leetcode】46. 全排列(permutations)(回溯)[中等]
【leetcode】47. 全排列 II(permutations-ii)(回溯)[中等]
【leetcode】52. N皇后 II(n-queens-ii)(回溯)[困難]
【leetcode】54. 螺旋矩陣(spiral-matrix)(模擬)[中等]
【leetcode】59. 螺旋矩陣 II(spiral-matrix-ii)(模擬)[中等]
【leetcode】63. 不同路徑 II(unique-paths-ii)(DP)[中等]
【leetcode】64. 最小路徑和(minimum-path-sum)(DP)[中等]
【leetcode】70. 爬樓梯(climbing-stairs)(DP)[簡單]
【leetcode】73. 矩陣置零(set-matrix-zeroes)(模擬)[中等]
【leetcode】77. 組合(combinations)(回溯)[中等]
【leetcode】78. 子集(subsets)(位運(yùn)算)[中等]
【leetcode】79. 單詞搜索(word-search)(回溯)[中等]
【leetcode】86. 分隔鏈表(partition-list)(模擬)[中等]
【leetcode】88. 合并兩個(gè)有序數(shù)組(merge-sorted-array)(模擬)[簡單]
【leetcode】92. 反轉(zhuǎn)鏈表 II(reverse-linked-list-ii)(模擬)[中等]
【leetcode】94. 二叉樹的中序遍歷(binary-tree-inorder-traversal)(dfs)[中等]
【leetcode】95. 不同的二叉搜索樹 II(unique-binary-search-trees-ii)(DP)[中等]
【leetcode】96. 不同的二叉搜索樹(unique-binary-search-trees)(DP)[中等]
【leetcode】97. 交錯(cuò)字符串(interleaving-string)(DP)[困難]
【leetcode】100. 相同的樹(same-tree)(DFS)[簡單]
【leetcode】103. 二叉樹的鋸齒形層序遍歷(binary-tree-zigzag-level-order-traversal)(BFS)[中等]
【leetcode】104. 二叉樹的最大深度(maximum-depth-of-binary-tree)(DFS)[簡單]
【leetcode】107. 二叉樹的層次遍歷 II(binary-tree-level-order-traversal-ii)(BFS)[簡單]
【leetcode】108. 將有序數(shù)組轉(zhuǎn)換為二叉搜索樹(convert-sorted-array-to-binary-search-tree)(遞歸)[簡單]
【leetcode】109. 有序鏈表轉(zhuǎn)換二叉搜索樹(convert-sorted-list-to-binary-search-tree)(DFS)[中等]
【leetcode】110. 平衡二叉樹(balanced-binary-tree)(DFS)[簡單]
【leetcode】111. 二叉樹的最小深度(minimum-depth-of-binary-tree)(BFS)[簡單]
【leetcode】112. 路徑總和(path-sum)(DFS)[簡單]
【leetcode】113. 路徑總和 II(path-sum-ii)(dfs)[中等]
【leetcode】114. 二叉樹展開為鏈表(Flatten Binary Tree to Linked List)(DFS)[中等]
【leetcode】115. 不同的子序列(distinct-subsequences)(DP)[困難]
【leetcode】117. 填充每個(gè)節(jié)點(diǎn)的下一個(gè)右側(cè)節(jié)點(diǎn)指針 II(populating-next-right-pointers-in-each-node-ii)(bfs)[中等]
【leetcode】119. 楊輝三角 II(pascals-triangle-ii)(模擬)[簡單]
【leetcode】120. 三角形最小路徑和(triangle)(DP)[中等]
【leetcode】122. 買賣股票的最佳時(shí)機(jī) II(best-time-to-buy-and-sell-stock-ii)(貪心)[簡單]
【leetcode】129. 求根到葉子節(jié)點(diǎn)數(shù)字之和(sum-root-to-leaf-numbers)(DFS)[中等]
【leetcode】131. 分割回文串(palindrome-partitioning)(回溯)[中等]
【leetcode】132. 分割回文串 II(palindrome-partitioning-ii)(DP)[困難]
【leetcode】133. 克隆圖(clone-graph)(BFS)[中等]
【leetcode】136. 只出現(xiàn)一次的數(shù)字(Single Number)(位運(yùn)算)[簡單]
【leetcode】140. 單詞拆分 II(word-break-ii)(DP)[困難]
【leetcode】141. 環(huán)形鏈表(linked-list-cycle)(雙指針)[簡單]
【leetcode】142. 環(huán)形鏈表 II(linked-list-cycle-ii)(模擬)[中等]
【leetcode】144. 二叉樹的前序遍歷(binary-tree-preorder-traversal)(模擬)[中等]
【leetcode】150. 逆波蘭表達(dá)式求值(evaluate-reverse-polish-notation)(棧)[中等]
【leetcode】155. 最小棧(intersection-of-two-linked-lists)(模擬)[簡單]
【leetcode】160. 相交鏈表(intersection-of-two-linked-lists)(模擬)[簡單]
【leetcode】167. 兩數(shù)之和 II - 輸入有序數(shù)組(two-sum-ii-input-array-is-sorted)(二分)[簡單]
【leetcode】169. 多數(shù)元素(majority-element)(模擬)[簡單]
【leetcode】174. 地下城游戲(dungeon-game)(DP)[困難]
【leetcode】189. 旋轉(zhuǎn)數(shù)組(rotate-array)(模擬)[中等]
【leetcode】198. 打家劫舍(house-robber)(DP)[簡單]
【leetcode】201. 數(shù)字范圍按位與(bitwise-and-of-numbers-range)(位運(yùn)算)[中等]
【leetcode】204. 計(jì)數(shù)質(zhì)數(shù)(count-primes)(數(shù)論)[簡單]
【leetcode】206. 反轉(zhuǎn)鏈表(reverse-linked-list)(鏈表)[簡單]
【leetcode】207. 課程表(course-schedule)(拓?fù)渑判?#xff09;[中等]
【leetcode】215. 數(shù)組中的第K個(gè)最大元素(kth-largest-element-in-an-array)(分治)[中等]
【leetcode】216. 組合總和 III(combination-sum-iii)(回溯)[中等]
【leetcode】224. 基本計(jì)算器(basic-calculator)(棧)[困難]
【leetcode】226. 翻轉(zhuǎn)二叉樹(invert-binary-tree)(dfs)[簡單]
【leetcode】227. 基本計(jì)算器 II(basic-calculator-ii)(棧)[中等]
【leetcode】228. 匯總區(qū)間(summary-ranges)(模擬)[簡單]
【leetcode】234. 回文鏈表(palindrome-linked-list)(雙指針)[簡單]
【leetcode】283. 移動(dòng)零(move-zeroes)(雙指針)[簡單]
【leetcode】303. 區(qū)域和檢索 - 數(shù)組不可變(range-sum-query-immutable)(前綴和)[簡單]
【leetcode】309. 最佳買賣股票時(shí)機(jī)含冷凍期(best-time-to-buy-and-sell-stock-with-cooldown)(DP)[中等]
【leetcode】312. 戳氣球(burst-balloons)(DP)[困難]
【leetcode】315. 計(jì)算右側(cè)小于當(dāng)前元素的個(gè)數(shù)(count-of-smaller-numbers-after-self)(樹狀數(shù)組)[困難]
【leetcode】329. 矩陣中的最長遞增路徑(longest-increasing-path-in-a-matrix)(DFS)[困難]
【leetcode】331. 驗(yàn)證二叉樹的前序序列化(verify-preorder-serialization-of-a-binary-tree)(棧)[中等]
【leetcode】343. 整數(shù)拆分(integer-break)(DP)[中等]
【leetcode】344. 反轉(zhuǎn)字符串(reverse-string)(雙指針)[簡單]
【leetcode】347. 前 K 個(gè)高頻元素(top-k-frequent-elements)(模擬)[中等]
【leetcode】349. 兩個(gè)數(shù)組的交集(intersection-of-two-arrays)(哈希)[簡單]
【leetcode】350. 兩個(gè)數(shù)組的交集 II(intersection-of-two-arrays-ii)(雙指針)[簡單]
【leetcode】365. 水壺問題(water-and-jug-problem)(數(shù)學(xué))[中等]
【leetcode】368. 最大整除子集(largest-divisible-subset)(DP)[中等]
【leetcode】377. 組合總和 Ⅳ(combination-sum-iv)(DP)[中等]
【leetcode】378. 有序矩陣中第K小的元素(kth-smallest-element-in-a-sorted-matrix)(堆)[中等]
【leetcode】381. O(1) 時(shí)間插入、刪除和獲取隨機(jī)元素 - 允許重復(fù)(insert-delete-getrandom-o1-duplicates-allowed)(模擬)[困難]
【leetcode】392. 判斷子序列(is-subsequence)(貪心)[簡單]
【leetcode】399. 除法求值(evaluate-division)(模擬)[中等]
【leetcode】404. 左葉子之和(sum-of-left-leaves)(dfs)[簡單]
【leetcode】409. 最長回文串(longest-palindrome)(字符串)[簡單]
【leetcode】410. 分割數(shù)組的最大值(split-array-largest-sum)(DP)[困難](未解決)
【leetcode】415. 字符串相加(add-strings)(模擬)[簡單]
【leetcode】424. 替換后的最長重復(fù)字符(longest-repeating-character-replacement)(滑動(dòng)窗口)[中等]
【leetcode】429. N叉樹的層序遍歷(n-ary-tree-level-order-traversal)(BFS)[中等]
【leetcode】448. 找到所有數(shù)組中消失的數(shù)字(find-all-numbers-disappeared-in-an-array)(模擬)[簡單]
【leetcode】459. 重復(fù)的子字符串(repeated-substring-pattern)(字符串)[簡單]
【leetcode】461. 漢明距離(hamming-distance)(位運(yùn)算)[簡單]
【leetcode】463. 島嶼的周長(island-perimeter)(模擬)[簡單]
【leetcode】485. 最大連續(xù)1的個(gè)數(shù)(max-consecutive-ones)(模擬)[簡單]
【leetcode】503. 下一個(gè)更大元素 II(next-greater-element-ii)(棧)[中等]
【leetcode】509. 斐波那契數(shù)(fibonacci-number)(模擬)[簡單]
【leetcode】529. 掃雷游戲(minesweeper)(模擬)[中等]
【leetcode】530. 二叉搜索樹的最小絕對(duì)差(minimum-absolute-difference-in-bst)(模擬)[簡單]
【leetcode】538. 把二叉搜索樹轉(zhuǎn)換為累加樹(convert-bst-to-greater-tree)(回溯)[簡單]
【leetcode】543. 二叉樹的直徑(diameter-of-binary-tree)(dfs)[簡單]
【leetcode】547. 省份數(shù)量(number-of-provinces)(圖論)[中等]
【leetcode】557. 反轉(zhuǎn)字符串中的單詞 III(reverse-words-in-a-string-iii)(字符串)[簡單]
【leetcode】561. 數(shù)組拆分 I(array-partition-i)(貪心)[簡單]
【leetcode】566. 重塑矩陣(reshape-the-matrix)(模擬)[簡單]
【leetcode】567. 字符串的排列(permutation-in-string)(滑動(dòng)窗口)[中等]
【leetcode】572. 另一個(gè)樹的子樹(subtree-of-another-tree)(DFS)[簡單]
【leetcode】617. 合并二叉樹(merge-two-binary-trees)(dfs)[簡單]
【leetcode】628. 三個(gè)數(shù)的最大乘積(maximum-product-of-three-numbers)(數(shù)學(xué))[簡單]
【leetcode】647. 回文子串(palindromic-substrings)(模擬)[中等]
【leetcode】657. 機(jī)器人能否返回原點(diǎn)(robot-return-to-origin)(模擬)[簡單]
【leetcode】674. 最長連續(xù)遞增序列(longest-continuous-increasing-subsequence)(DP)[簡單]
【leetcode】685. 冗余連接 II(redundant-connection-ii)(dfs)[困難]
【leetcode】697. 數(shù)組的度(degree-of-an-array)(模擬)[簡單]
【leetcode】701. 二叉搜索樹中的插入操作(insert-into-a-binary-search-tree)(dfs)[中等]
【leetcode】703. 數(shù)據(jù)流中的第 K 大元素(kth-largest-element-in-a-stream)(模擬)[簡單]
【leetcode】705. 設(shè)計(jì)哈希集合(design-hashset)(模擬)[簡單]
【leetcode】706. 設(shè)計(jì)哈希映射(design-hashmap)(模擬)[簡單]
【leetcode】718. 最長重復(fù)子數(shù)組(maximum-length-of-repeated-subarray)(DP)[中等]
【leetcode】724. 尋找數(shù)組的中心索引(find-pivot-index)(前綴和)[簡單]
【leetcode】733. 圖像渲染(flood-fill)(BFS)[簡單]
【leetcode】766. 托普利茨矩陣(toeplitz-matrix)(模擬)[簡單]
【leetcode】771. 寶石與石頭(jewels-and-stones)(模擬)[簡單]
【leetcode】778. 水位上升的泳池中游泳(swim-in-rising-water)(二分+DFS)[困難]
【leetcode】785. 判斷二分圖(is-graph-bipartite)(BFS)[中等]
【leetcode】830. 較大分組的位置(positions-of-large-groups)(模擬)[簡單]
【leetcode】832. 翻轉(zhuǎn)圖像(flipping-an-image)(模擬)[簡單]
【leetcode】836. 矩形重疊(rectangle-overlap)(計(jì)算幾何)[簡單]
【leetcode】839. 相似字符串組(similar-string-groups)(并查集)[困難]
【leetcode】841. 鑰匙和房間(keys-and-rooms)(BFS)[中等]
【leetcode】845. 數(shù)組中的最長山脈(longest-mountain-in-array)(模擬)[中等]
【leetcode】867. 轉(zhuǎn)置矩陣(transpose-matrix)(模擬)[簡單]
【leetcode】876. 鏈表的中間結(jié)點(diǎn)(middle-of-the-linked-list)(鏈表)[簡單]
【leetcode】888. 公平的糖果棒交換(fair-candy-swap)(哈希)[簡單]
【leetcode】892. 三維形體的表面積(surface-area-of-3d-shapes)(數(shù)學(xué))[簡單]
【leetcode】897. 遞增順序搜索樹(increasing-order-search-tree)(dfs)[簡單]
【leetcode】914. 卡牌分組(x-of-a-kind-in-a-deck-of-cards)(數(shù)學(xué))[簡單]
【leetcode】941. 有效的山脈數(shù)組(valid-mountain-array)(模擬)[簡單]
【leetcode】945. 使數(shù)組唯一的最小增量(minimum-increment-to-make-array-unique)(貪心)[中等]
【leetcode】959. 由斜杠劃分區(qū)域(regions-cut-by-slashes)(并查集)[中等]
【leetcode】973. 最接近原點(diǎn)的 K 個(gè)點(diǎn)(k-closest-points-to-origin)(模擬)[中等]
【leetcode】977. 有序數(shù)組的平方(squares-of-a-sorted-array)(雙指針)[簡單]
【leetcode】983. 最低票價(jià)(minimum-cost-for-tickets)(DP)[中等]
【leetcode】989. 數(shù)組形式的整數(shù)加法(add-to-array-form-of-integer)(模擬)[簡單]
【leetcode】999. 車的可用捕獲量(available-captures-for-rook)(模擬)[簡單]
【leetcode】1004. 最大連續(xù)1的個(gè)數(shù) III(max-consecutive-ones-iii)(滑動(dòng)窗口)[中等]
【leetcode】1024. 視頻拼接(video-stitching)(DP)[中等]
【leetcode】1025. 除數(shù)博弈(divisor-game)(博弈)[簡單]
【leetcode】1047. 刪除字符串中的所有相鄰重復(fù)項(xiàng)(remove-all-adjacent-duplicates-in-string)(模擬)[簡單]
【leetcode】1052. 愛生氣的書店老板(grumpy-bookstore-owner)(滑動(dòng)窗口)[中等]
【leetcode】1122. 數(shù)組的相對(duì)排序(relative-sort-array)(模擬)[簡單]
【leetcode】1128. 等價(jià)多米諾骨牌對(duì)的數(shù)量(number-of-equivalent-domino-pairs)(哈希)[簡單]
【leetcode】1160. 拼寫單詞(find-words-that-can-be-formed-by-characters)(字符串)[簡單]
【leetcode】1207. 獨(dú)一無二的出現(xiàn)次數(shù)(unique-number-of-occurrences)(模擬)[簡單]
【leetcode】1208. 盡可能使字符串相等(get-equal-substrings-within-budget)(滑動(dòng)窗口)[中等]
【leetcode】1232. 綴點(diǎn)成線(check-if-it-is-a-straight-line)(數(shù)學(xué))[簡單]
【leetcode】1319. 連通網(wǎng)絡(luò)的操作次數(shù)(number-of-operations-to-make-network-connected)(BFS)[中等]
【leetcode】1356. 根據(jù)數(shù)字二進(jìn)制下 1 的數(shù)目排序(sort-integers-by-the-number-of-1-bits)(模擬)[簡單]
【leetcode】1365. 有多少小于當(dāng)前數(shù)字的數(shù)字(how-many-numbers-are-smaller-than-the-current-number)(模擬)[簡單]
【leetcode】1603. 設(shè)計(jì)停車系統(tǒng)(design-parking-system)(模擬)[簡單]
【leetcode】1631. 最小體力消耗路徑(path-with-minimum-effort)(二分+DFS)[中等]
【leetcode】1672. 最富有客戶的資產(chǎn)總量(richest-customer-wealth)(模擬)[簡單]
【leetcode】1689. 十-二進(jìn)制數(shù)的最少數(shù)目(partitioning-into-minimum-number-of-deci-binary-numbers)(模擬)[中等]
【leetcode】LCP 19. 秋葉收藏集(UlBDOe)(DP)[中等]
【leetcode】劍指 Offer 09. 用兩個(gè)棧實(shí)現(xiàn)隊(duì)列(yong-liang-ge-zhan-shi-xian-dui-lie-lcof)(數(shù)據(jù)結(jié)構(gòu))[簡單]
【leetcode】劍指 Offer 11. 旋轉(zhuǎn)數(shù)組的最小數(shù)字(xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof)(二分)[簡單]
【leetcode】劍指 Offer 22. 鏈表中倒數(shù)第k個(gè)節(jié)點(diǎn)(lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof)(雙指針)[簡單]
【leetcode】劍指 Offer 29. 順時(shí)針打印矩陣(shun-shi-zhen-da-yin-ju-zhen-lcof)(模擬)[簡單]
【leetcode】面試題 08.03. 魔術(shù)索引(magic-index-lcci)(二分)[簡單]
【leetcode】面試題 16.11. 跳水板(diving-board-lcci)(數(shù)學(xué))[簡單]
【leetcode】面試題 17.13. 恢復(fù)空格(re-space-lcci)(DP)[中等]
【leetcode】面試題 17.16. 按摩師(the-masseuse-lcci)(動(dòng)態(tài)規(guī)劃)[簡單]
更新腳本
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @Time : 2020/3/19-20+25 TAKE 5h+37min 2020/7/20 fix multi page error # @Author : Krone_ # @Blog : https://blog.csdn.net/Krone_/article/details/103437096 # @File : leet.py # @Software: Sublimeimport re import requests import numpy as np from lxml import html from collections import namedtuple from operator import attrgetter import json import pyperclip# spider title and link url_base='https://blog.csdn.net/krone_/category_9430398_' #需要爬數(shù)據(jù)的網(wǎng)址 url_extension='.html'headers = { "User-Agent" : "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) ","Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language" : "en-us","Connection" : "keep-alive","Accept-Charset" : "GB2312,utf-8;q=0.7,*;q=0.7"}title=[] link=[] for i in range(1, 100):url = url_base+str(i)+url_extensionpage=requests.Session().get(url, headers=headers) tree=html.fromstring(page.text) page_bloglink=tree.xpath('//*[@id="column"]/ul/li/a/@href') page_title=tree.xpath('//*[@id="column"]/ul/li/a/div[1]/h2[@class="title"]/text()') if len(page_title) == 0:breaklink += page_bloglinktitle += page_title# str.strip() 去除字符串兩邊空格 title = [x.strip() for x in title] title = [x for x in title if x != ""]# all parts start = "**開坑,有生之年系列,希望有一天能解出 $leetcode$ 上的所有題目。**\n**寫題解好麻煩,懶得寫(手動(dòng)狗頭),進(jìn)度如下,不定期更新。**\n"table = "| 總題數(shù) | 已解答 | 題解數(shù) |\n|--------|----------|--------|\n"Hard = len(list(filter(lambda x: re.search('困難', x) != None, title))) Medium = len(list(filter(lambda x: re.search('中等', x) != None, title))) Easy = len(list(filter(lambda x: re.search('簡單', x) != None, title)))report_problems = Hard+Medium+Easy solve_problems = 232 # solve_but_un_report_problems = 232-report_problems # solve_problems = report_problems+solve_but_un_report_problems# spider total_problems url='https://leetcode-cn.com/api/problems/all/' resp=requests.Session().get(url) question_list = json.loads(resp.content.decode('utf-8')) total_problems = question_list['num_total']pattern = re.compile(r'.*\.\s') # 查找 .空格 number = [pattern.findall(x) for x in title]for index,value in enumerate(number):if not value: continue;tmp = value[0][10:-2] # 去掉 【leetcode】 和 最后的 . if tmp.isdigit() and len(tmp) < 4:tmp = '0'*(4-len(tmp)) + tmp # 補(bǔ) 0 用于排序number[index] = tmphistogram = r"$\def{\cGreen}{#52C41A}\def{\cOrange}{#F39C11}\def{\cYellow}{#FADB14}\def{\cRed}{#E74C3C}\def{\colorOfLine}{#A9A9A9}\def{\colorOfDivide}{#000000}\def{\colorOfName}{#000000}\def{\colorOfBox}{#000000}\def{\colorOfContent}{#000000}\newcommand{\item}[2]{ \color{\colorOfName} \textbf{#1:} \text{#2} &}\newcommand{\add}[2]{ \fcolorbox{\colorOfBox}{#2} {\normalsize\vphantom{+}\kern{#1 mm}}}\newcommand{\main}[3]{ \boxed{ \color{white} \begin{cases} &\color{\colorOfLine} \kern{4pt} \begin{vmatrix} \raisebox{60pt}{} \kern{48.56mm} \end{vmatrix} \kern{-5.5pt} \begin{vmatrix} \raisebox{60pt}{} \kern{48.56mm} \end{vmatrix} \kern{-5.5pt} \\[-75pt] &\color{\colorOfDivide} \scriptsize \kern{4 pt} \text{0} \kern{48.2mm} \text{50} \kern{47 mm} \text{100} \\[3pt] \item{簡單}{#1} \add{#1}{\cGreen} \\[3pt] \item{一般}{#2} \add{#2}{\cOrange} \\[3pt] \item{困難}{#3} \add{#3}{\cRed} \end{cases} } \\}\main"solveProLink = namedtuple('solveProLink', ['number', 'title', 'link'])solveProLinkList = [solveProLink(number[i], title[i], link[i]) for i in range(len(number)) if number[i]]solveProLinkList = sorted(solveProLinkList, key=attrgetter('number'))ans = start+"\n"+ \table + \"| "+str(total_problems)+" | "+str(solve_problems)+" | "+str(report_problems)+" |\n\n" + \histogram+"{{{0}}}{{{1}}}{{{2}}}$\n\n".format(Easy,Medium,Hard)for item in solveProLinkList:ans += "["+item.title+"]"+"("+item.link+")\n"ans += "\n**更新腳本**\n```py\n"f0 = open(__file__, "r", encoding='UTF-8') ans += f0.read()ans += "\n```"# Copy to clipboard pyperclip.copy(ans) # # write content # f = open('leetRepo.md','w') # f.write(ans) # f.close()總結(jié)
以上是生活随笔為你收集整理的【leetcode】解题日记(未完待续)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java实现bt文件下载、制作、解析、磁
- 下一篇: 1688API接口,获取商品详情,按关键