原创 Go踩坑總結

在函數外面定義變量時 要用var 不能用:= byte8位 rune32位(字符類型) complex64(複數,實部32位,虛部32位) go中沒有隱式類型轉換 類型轉換都是強制的 float 類型四捨五入爲int: int(

原创 數據結構的那些事兒

哨兵法查找 建立哨兵,將結束條件和“找到”條件統一,從而減少比較的操作//普通查找 for i:=0;i<len(list)&&list[i]!=target;i++{ doWork() } //哨兵法 list = a

原创 什麼,辛辛苦苦寫的文章訪問量這麼低?沒關係我自己來

package main import ( "fmt" "math/rand" "net/http" "sync" "time" ) var count = 0 func Get() { count++ if

原创 Mysql總結 --3

MyISAM與InnoDB鎖的區別 MyISAM默認是表級鎖,不支持行級鎖 InnoDB 默認是行級鎖,也支持表級鎖 MyISAM MyISAM不支持事務 查詢時,會自動給表上讀鎖(表級鎖跟索引無關) 增刪改時,會自

原创 subject5

題目 一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 思路 思路1 從臺階考慮:最後一個臺階肯定會被跳到,其他的每個臺階都有 跳到 未跳到 兩種狀態 思路

原创 subject6

題目 我們可以用21的小矩形橫着或者豎着去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋一個2n的大矩形,總共有多少種方法? 比如n=3時,23的矩形塊有3種覆蓋方法: 思路 對於一個長方體,只有兩種放法: 豎着放

原创 Java總結--常用類庫

String、StringBuffer、StringBuilder String:是一個final類,任何賦值對String的改變,都會產生新的String對象的生成 StringBuffer:可變類,任何對它所指代的字

原创 Go深入--基本數據結構的實現

string 字符串在Go語言內存模型中用一個2字長的數據結構表示,它包含一個指向字符串存儲數據的指針和一個長度數據 string類型是不可變的,對於多字符串共享同一個存儲數據是安全的。 字符串切分可以在不涉及內存分配或複製操

原创 Java總結--多線程與併發1

總覽 Java中的進程和線程 運行一個程序會產生一個進程,進程包含至少一個線程(主線程) 每個進程對應一個JVM實例,多個線程共享JVM裏的堆 主線程可以創建子線程,主線程原則上要後於子線程完成執行(各種關閉動作在主線程中執行

原创 計算機網絡那些事兒

總覽物理層數據鏈路層網絡層傳輸層應用層 網絡體系結構比較 物理層 信道 奈氏準則 波特和比特 信噪比 香濃公式 數據鏈路層 數據鏈路(傳輸的是數據幀) 傳輸問題 封裝成幀 用特殊的字符進行幀定界,舉例

原创 數據格式之protobuf

簡介 二進制數據交換格式 基於idl語言自動生成對應的數據結構代碼 protobuf開發流程 搭建環境 編寫IDL文件(.proto文件) 根據IDL文件生成對應語言的數據結構代碼 使用相應的工具包完成序列化和反序列化 環

原创 消息隊列之nsq

nsq簡介 特點 消息默認不做持久化,但是可以配置 每條消息最少傳遞一次 消息不能保證有序 nsq組件 nsqd:負責消息接收、保存以及發送消息給消費者的進程 nsqlookupd :負責維護所有nsqd的狀態,提供服務發

原创 day30

func isMatch(s string, p string) bool { dp := make([][]bool,len(s)+1) for i:= 0;i<len(s)+1;i++{ dp

原创 day20

func isSymmetric(root *TreeNode) bool { return MyisSymmetric(root,root) } func MyisSymmetric(node1,node2 *Tre

原创 day18

func isMatch(s string, p string) bool { slen, plen := len(s), len(p) if slen == 0 { if plen%2 != 0 { return