原创 【打印九九乘法表】

兩個for循環搞定 def func(): for i in range(1,10): s='' for j in range(1,i+1): tmp = j*i

原创 【劍指】二維數組中的查找

class Solution: def findNumberIn2DArray(self, matrix: List[List[int]], target: int) -> bool: if not matrix:

原创 【解決github無法訪問】

這個問題主要是GitHub那些網址域名更換了,解決步驟: 登錄網站 https://ipchaxun.com/ ,例如輸入github.com,得到新的IP 在 C:\Windows\System32\drivers\etc的'ho

原创 【leetcode 567】字符串的排列

給定兩個字符串 s1 和 s2,寫一個函數來判斷 s2 是否包含 s1 的排列。 換句話說,第一個字符串的排列之一是第二個字符串的子串。 示例1: 輸入: s1 = "ab" s2 = "eidbaooo" 輸出: True 解釋: s2

原创 【438】找到字符串中所有字母異位詞

class Solution: def findAnagrams(self, s: str, p: str) -> List[int]: p_d, s_d, leng, res,l={}, {}, len(p), [

原创 【leetcode 34】在排序數組中查找元素的第一個和最後一個位置

class Solution: def searchRange(self, nums: List[int], target: int) -> List[int]: if not nums: return [-1,-1

原创 【leetcode 704】二分查找

class Solution: def search(self, nums: List[int], target: int) -> int: left,right = 0, len(nums)-1 #

原创 【leetcode 76】最小覆蓋子串

滑動窗口問題,注意題幹:返回 s 中涵蓋 t 所有字符的最小子串 記錄t中的字符和頻數 使用滑動窗口遍歷s,移動右窗口,同時記錄窗口內的字符和頻數 當右窗口的字符頻數等於所需的計數,cur_len加1 當於滿足t出現的字符個數,並且是

原创 【git】git fetch和git pull的區別

git pull和git fetch都是從遠程倉庫獲取最新版本代碼,然後更新本地倉庫代碼。區別:git pull = git fetch + git merge or (git fetch + git rebase) 從commit id

原创 【git】合併分支到主分支

分支遠程更新後,如何合併到主分支 查看分支列表 git branch -a 切換到本地主分支 git checkout master 更新本地主分支 git pull 合併到本地主分支 git merge dev 更新遠程主分支 gi

原创 【Python】內存管理機制

1、垃圾回收 2、緩存機制 1、垃圾回收 垃圾回收機制: 引用計數 標記清除 分帶回收 描述垃圾回收之前先引入一個概念:refchain雙向環狀鏈表。這個鏈表的作用很強大,python內部會維護一個這樣的鏈表,當python程序中一旦創建對

原创 【leetcode 111】 二叉樹的最小深度

記住4個遞歸結束的判斷條件: 葉子節點的定義是左孩子和右孩子都爲 null 時叫做葉子節點 當 root 節點左右孩子都爲空時,返回 1 當 root 節點左右孩子有一個爲空時,返回不爲空的孩子節點的深度 當 root 節點左右孩子都不爲

原创 【leetcode 233】 零錢兌換

經典的動態規劃問題,記住狀態轉移方程,dp[i] = min{dp[i],dp[i-coin]+1},dp[i-coin]+1是加上當前的一枚硬幣。 class Solution: def coinChange(self, co

原创 【leetcode 105】從前序與中序遍歷序列構造二叉樹

最後將構造好的樹的根節點返回即可,利用index函數找到中序遍歷中根節點位置 # Definition for a binary tree node. # class TreeNode: # def __init__(self,

原创 【leetcode 509】 斐波那契數

動態規劃的方法 class Solution: def fib(self, N: int) -> int: dp = (N+1)*[0] if N<1: return 0 dp[1