原创 二分查找

定義 二分查找: 思路很簡單,細節是魔鬼。 基本框架: def find(nums,target): left = 0 right = *** while left ** right: mi

原创 索引會在什麼情況下失效?(InnoDB,mysql8.0)

條件中有or 如果條件中有or,其中一個字段是索引字段,另一個是非索引字段,此時索引不會被使用,全表掃描。 如果條件中有or,左右是兩個不同的獨立索引字段,此時兩個索引字段都會用。 但其實完全可以用union來代替:

原创 進程之間的通信方式

進程通信 數據傳輸 資源共享 通知事件 進程控制 分類 1. 管道 | 是管道的意思,它的作用就是把前一條命令的輸出作爲後一條命令的輸入。如果兩個進程要通信的話,可以使用這種管道進行通信,因爲 | 沒有名字,所以成爲匿名管道

原创 輸入一個URL後發生了什麼

1. DNS解析 輸入一個網址並按回車之後瀏覽器會根據輸入的URL查找對應的IP,具體過程如下: (1)查找瀏覽器緩存,瀏覽器會保存一段時間內訪問過的一些網址的DNS信息。 (2)如果沒有找到對應的IP,瀏覽器就調用操作系統緩存來

原创 382. 鏈表隨機節點

題目描述: 給定一個單鏈表,隨機選擇鏈表的一個節點,並返回相應的節點值。保證每個節點被選的概率一樣。 進階: 如果鏈表十分大且長度未知,如何解決這個問題?你能否使用常數級空間複雜度實現? 思路: 蓄水池抽樣:(數學上可以證明,這裏

原创 目錄

mysql之PK和UK 回溯統計

原创 300. 最長上升子序列

題目描述: 給定一個無序的整數數組,找到其中最長上升子序列的長度。 示例: 輸入: [10,9,2,5,3,7,101,18] 輸出: 4 解釋: 最長的上升子序列是 [2,3,7,101],它的長度是 4。 說明: 可能會有

原创 TCP擁塞控制

假設接收方總是有足夠大的緩存空間,因而發送窗口的大小由網絡的擁塞程度來決定,發送方讓自己的發送窗口等於擁塞窗口。因此擁塞窗口cwnd的大小由網絡的擁塞程度來決定,並且動態地在變化。 發送方控制擁塞窗口的的原則: 只要網絡沒有出現擁

原创 數據庫命名規則

規則: 由字母、數字、下劃線、@、#、和 $ 組成,但是首字母不能是數字和$ 標識符不能是mysql保留字。 但是對於以上不符合規則的命名只要加上標識限定符(反引號)就是合法的。 【注意】 如果進行以下操作,則在data下得

原创 回溯統計

先建立一個表並且插入一些數據 分組group by: 返回每個分組中的隨機一條記錄,一般用於統計數據。 單字段統計 用group_concat()來顯示每個分組中所指定的字段值 至於到底男的排在前面還是女的排在前面,我認爲是

原创 sys.argv的使用

argv(argument variable),一般在命令行調用的時候由系統傳遞給程序。這個變量其實是一個List列表,argv[0] 一般是被調用的腳本文件名或全路徑,argv[1]和之後的就是傳入的系統命令參數。 寫好如下代

原创 最小的K個數

題目描述 輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4。 方法: 用最大堆實現,先建立一個k大堆,然後不斷比較維護一個k大堆。最後再運用K大堆對k個樹從小到

原创 有了二叉查找樹、平衡樹爲什麼還要有紅黑樹?

二叉查找樹 要麼是一棵空樹,要麼是滿足以下性質: 若左子樹不爲空,則左子樹上所有節點小於根節點 若右子樹不爲空,則右子樹上所有節點大於根結點 它的左右子樹也分別爲二叉查找樹 在查找一個樹時可以使用二分查找思想,正常情況下查找的

原创 python實現驗證碼登陸

import random def creat(): ''' 生成四位驗證碼 ''' checkcode = "" for i in range(4): current =

原创 三大範式

範式 範式(Nomal Format):是離散數學中的知識,是爲了解決數據的存儲與優化問題,保證數據存儲之後,凡是能夠通過關係尋找出來的數據,堅決不再重複存儲,終極目標是爲了減少數據的冗餘。 範式是一種分層結構的規範,分爲6層。每