原创 寫出pythonic的代碼

寫出pythonic的代碼什麼是pythonic爲什麼要追求pythonic?常用的寫法1. 程序必須先讓人讀懂,然後才能讓計算機執行。2. 代碼規範2.1 編碼規則2.2 命名規範3. 常用代碼技巧3.0 交換兩個數字3.1 字

原创 Ubuntu配置及美化篇

因爲我昨天手賤把Ubuntu引導刪除了,所以又重裝了一遍雙系統,趁着今天重裝系統,把配置Ubuntu的流程走一遍,以後萬一再重裝系統,也能提高配置效率 基於Ubuntu19.04 配置篇 1. Shadowsocks 科學上網嘛

原创 利用Selenium爬取淘寶商品

淘寶頁面數據是採用Ajax獲取的,但是這些Ajax接口參數比較複雜,可能會加入加密祕鑰。對於這種頁面,最方便的方法是通過selenium。可以用Selenium來模擬瀏覽器操作,抓取淘寶商品信息。 1.目標 利用seleniu

原创 哈希映射和集合練習

哈希映射和集合練習 1. 有效的字母異位詞 給定兩個字符串 s 和 t ,編寫一個函數來判斷 t 是否是 s 的字母異位詞。 示例 1: 輸入: s = "anagram", t = "nagaram" 輸出: true 示例

原创 [leetcode] 數組、鏈表練習題

數組與鏈表 Array 實戰題目 1. 盛最多水的容器 class Solution: def maxArea(self, height: List[int]) -> int: # 1. 雙指針法, 用m

原创 遞歸算法

To iterate is human, to recurse, divine. 人理解迭代,神理解遞歸。 什麼是遞歸 遞歸算法(英語:recursion algorithm)在計算機科學中是指一種通過重複將問題分解爲同類的子

原创 二叉樹

class Node: """節點類""" def __init__(self, elem=-1, lchild=None, rchild=None): self.elem = elem # e

原创 單鏈表

# encoding=utf8 class SingleNode: """單鏈表的結點""" def __init__(self, item): # item存放數據元素 se

原创 雙向鏈表

# encoding=utf-8 class Node: """雙向鏈表節點""" def __init__(self, item): self.item = item sel

原创 動態規劃入門

動態規劃入門 動態規劃(Dynamic programming, 簡稱DP), 通過把原問題分解爲相對簡單的子問題的方式求解複雜問題的方法。 DP常常適用於有重疊子問題和最優子結構性質的問題,動態規劃方法所消耗的時間往往遠小於樸

原创 [數組]N數之和問題

leetcode_1. 兩數之和 題目描述 給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這

原创 使用gogs搭建git服務

實驗室的服務器閒着沒用,打一個git服務給同學們用,思來想去最終使用gogs搭建,gogs具有輕量級、易安裝、跨平臺的優點。 方法一:直接搭建 所需環境 系統:Ubuntu Server 18.04 數據庫:MySQL 反向

原创 Docker基礎

Docker基礎1. Docker 安裝Ubuntu 19安裝CentOS 7安裝Docker免sudo配置阿里雲鏡像加速2.Docker簡介虛擬機技術與容器虛擬化技術的對比虛擬機(virtual machine)Linux 容器

原创 接雨水

42. 接雨水 題目描述 給定 n 個非負整數表示每個寬度爲 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。 上面是由數組 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度圖,在這種情況下,可以接

原创 經典排序算法總結

所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。排序算法,就是如何使得記錄按照要求排列的方法。排序算法在很多領域得到相當地重視,尤其是在大量數據的處理方面。一個優秀的算法可以節省大量的資源