原创 Leecode 236

題目 題解 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x #

原创 Leecode 114二叉樹的最大深度

題目 解題思路 C#: public class Solution { public int MaxDepth(TreeNode root) { if(root==nul

原创 Leecode 89.格雷編碼

題目 題解 代碼實現: class Solution(object): def grayCode(self, n): """ :type n: int

原创 Leecode 78.子集

題目 解題 1.遞歸算法 先創建一個空的集合作爲輸出結果,遍歷輸入的數組;對每個遍歷的元素,輸出集合前面的所有子集都添加這個元素;遍歷結束,輸出結果 代碼如下: class Solution(object): def s

原创 cookie信息的加載和保存

保存cookie到本地 保存cookie到本地,可以使用cookiejar的save方法,並且需要指定一個文件名: from urllib import request from http.cookiejar import Moz

原创 Leecode 14 最長公共前綴

題目 題解 先得到最短字符串的長度 根據第一個字符串的最短長度內的字符,遞歸判斷後面所有字符串前綴是否也含有,如果都含有則加入到結果result,有一個字符串不含有迭代的字符則直接返回結果 代碼實現如下: class Sol

原创 Leecode 3.無重複字符串

題目 題解 使用數組作爲容器–直觀的滑動窗口法 def lengthOfLongestSubstring(s: str) -> int: # 字符串爲空則返回零 if not s: retur

原创 爬蟲 http協議和Chrome抓包工具

什麼是http和https協議 HTTP協議:全稱是 HyperText Transfer Protocol,中文意思是超文本傳輸協議,是一種發佈和接收HTML頁面的方法。服務器端口號是80 HTTPS協議:是HTTP的加密版本

原创 cookie原理和基本使用

什麼是cookies 在網站中,http請求是無狀態的。也就是說即使第一次和服務器連接後並且登錄成功後,第二次請求服務器依然不能知道當前請求是哪個用戶。cookie的出現就是爲了解決這個問題,第一次登錄後服務器返回一些數據(coo

原创 用Request爬取實戰

request.Request類 如果想要在請求的時候增加一些請求頭,用request.Request。比如要增加一個User-Agent 在拉勾網的職業信息通過另外的網址,再通過JS嵌入到主頁面的html代碼當中的 真正的職業信

原创 ProxyHandler

很多網站會檢測某一段時間某個ip的訪問次數(通過流量統計,系統日誌等),如果訪問次數多的不像正常人,它會禁止這個ip的訪問,所以我們可以設置一些代理服務器,每隔一段時間換一個代理,就算ip被禁止,依然可以換個ip繼續爬取,urll

原创 Leecode 155.最小棧

題目 添加鏈接描述 解題思路 採用輔助棧的方法 創建一個棧,儲存數據,並創建一個輔助棧用來儲存最小值 儲存數據時如果小於輔助棧棧頂數據時候,同時儲存進輔助棧 刪除棧元素時候考慮是否爲輔助棧棧頂元素 返回最小值時候,就返回輔助棧

原创 Leecode 150.逆波蘭表達式求值

題目 添加鏈接描述 解題思路 從前向後遍歷數組 遇到數字則壓入棧中 遇見計算符則將棧頂的前兩個字符進行運算,結果再加入棧中 遍歷數組到最後,棧頂元素即爲最後答案 public class Solution { pub

原创 python 基礎 day15魔法方法

魔法方法的“魔力”體現在它們總能夠在適當的時候被自動調用 魔法方法的第一個參數應爲cls(類方法) 或者self(實例方法)。 cls:代表一個類的名稱 self:代表一個實例對象的名稱## 構造與析構 __init__(se

原创 中國大學排名的爬取

實例介紹 功能描述 輸入:大學排名的URL鏈接 輸出:大學排名信息的屏幕輸出(排名,大學名稱,總分) 技術路線:requests-bs4 定向爬蟲:進隊輸入URL進行爬取,不擴展爬取 程序的結構設計 步驟一:從網絡上獲取頁面信息