原创 leetcode 劍指 Offer 51. 數組中的逆序對

其實是一個插入排序,插入的時候問之前已經出現了有多少大於自己的。 通過二分查找可以在log(n)內搜索出有多少大於的。 搜索到的下標就是逆序的,然後相加就可以了。 最後就得到逆序的數。 空間換時間就是插入排序,二分搜索 nl

原创 查看C語言編譯流程

執行版本和非執行版本 gcc -v source.cpp 會輸出詳細的編譯流程,輸出到stderr 編譯配置 輸出預處理器的編譯器信息和屬性。 內置的specs(編譯說明). 彙編 搜索路徑 機器語言 可執行文

原创 leetcode 10. 正則表達式匹配

class Solution(object): def isMatch(self, s, p): if p: # 原始字符串不爲空,且第一個和規則串匹配 if

原创 asyncio之sleep,時鐘效果案例

sleep方法 阻塞一段時間, 如果傳入了result,那麼將會把這個結果傳遞給調用者。 sleep常常用來阻塞當前的task,然後讓其他的task執行----禮讓。 然後loop參數是不建議傳入的,後面這個參數也會被刪除 asy

原创 指令查看ip

ip addr | sed -n -E -e '/eth0/,+3p' | sed -n -E -e '/\/[0-9]/p' -e 's/ +/;/gp'

原创 centos快速換yum源

# arm 下華爲源 sed -i -E -e 's;^mirrorlist=;#mirrorlist=;' -e 's;^# *baseurl=http://mirror.centos.org/altarch/;baseurl=

原创 so調用段錯誤 Program received signal SIGSEGV, Segmentation fault.

文件結構 編譯so g++ -fPIC -shared -o liba/a.so liba/a.c #include<stdio.h> int a() { printf("aaaaaaaaaaaaaaaa\n");

原创 leetcode-32. 最長有效括號

class Solution: def longestValidParentheses(self, s: str) -> int: ranges = [(-1,-2)] indexs = [

原创 3.1 IP簡介

簡介 單單就IP網絡層講,IP是一個不可靠的,無連接的協議,爲網絡提供報文發送服務。 可靠連接TCP是一個在不可靠協議的基礎上通過某種算法策略實現的可靠傳輸協議。 TCP的上層實現,創造了一個在IP層上的傳輸層協議,這個協議

原创 2.8 MTU

簡介 maximum transmission unit 最大傳輸 因爲MAC層是統一結構,基本相同,只有上三層不同,所以MTU指的是MAC層以後的三層數據最大值。而報文的大小也是指的上三層。 作用 MTU決定了最大

原创 C++裏define(宏定義)的幾種用法

define是發生在預編譯階段, 預編譯,編譯,鏈接 處理各種cpp中的指令include define 等以 # 開頭的類似指令 ,可以使用gcc -E a.cpp命令查看預編譯後的代碼 define發生的替換是從左網友

原创 shell循環結構_乘法口訣表

shell提供的循環結構有三種:until while for 分別用三種實現乘法口訣表。 while 語法 while test-commands; do consequent-commands; done while是條

原创 huffman樹,二叉樹實現。

#include<stdio.h> #include<stdlib.h> typedef char datatype; typedef unsigned int uint; typedef struct hftree {

原创 編譯cmake的時候出錯Could not find OpenSSL. Install an OpenSSL development package or

centos yum install openssl-devel ubuntu sudo apt-get install libssl-dev mac os brew install openssl

原创 linux rpc 交互輸出 hello world

客戶端代碼 #include<stdio.h> #include<rpc/rpc.h> #include<string.h> #include<stdlib.h> #define PROGNUM 12345 #define P