引自soul machine 《leetcode 題解》
1)在判斷兩個浮點數a和b是否相等時,不要用a==b,應該判斷二者之差的絕對值fabs(a-b)是否小於某乙個閾值,例如le-9
2)判斷乙個整數是否是奇數,用x%2!=0,不要用x%2==1。因為x可能是負數
3)用char的值作為陣列的下標(例如,統計字串中每個字元出現的次數),要考慮到char可能是負數。有的人考慮到了,先強制轉型為unsigned int再用作下標,這仍然是錯的。正確的做法是,先強制轉型為unsigned char,再用作下標。這涉及c++整型提公升的規則
4)vector和string優先於動態分配的陣列
首先,在效能上,由於vector能保證連續記憶體,因此一旦分配了後,它的效能跟原始陣列相當。
其次,如果用new,意味著你要確保後面進行了delete,一旦忘記了,就會出現bug,且這樣需要都寫一行delete,**不夠短;
再次,宣告多維陣列的話,只能乙個乙個new,例如:
int**ary=new
int*[row_num];
for(int i=0;inew
int[col_num];
用vector的話一行**搞定
vector
>ary(row_num,vector
(col_num,0));
5 )使用reserve來避免不必要的分配 Python程式設計技巧 簡單的wc命令實現
wc這個命令可以實現對檔案行數 單詞數 位元組數等的統計。root sj python wc ctrl d 退出 hello good morning 2 3 20 2行,3個單詞,20個位元組 root sj wc etc passwd 26 38 1206 etc passwd 下面寫乙個簡單的...
程式設計技巧 適配技巧 2
上篇講了一些對尺寸的簡單適配 縮放適配 我們這裡來講一些對於需求而言的 適配 1.案例一 如果版本一需要四行檢視,版本二需要二行檢視,怎麼用最少的 和邏輯判斷去實現?這裡可以用到uiview的tag property nonatomic nsinteger tag default is 0 null...
ACCESS程式設計技巧
問題 dq 地區 xm 姓名 a 張三 a 李四 b 王五 b 王六 b 王七 c 王九 想做乙個檢視轉換成 dq xm a 張三,李四 b 王五,王六,王七 c 王九 解決在access模組裡寫函式 基本程式如下 public function return sl dq as string as ...