區間調度(Interval Scheduling)是一種在存在大量區間的情況下,有效率地找出一組最大相容子集(Largest Compatible Subset)的演算法。
Array Name 其實就是 Pointer
寫這篇文章的原因在於自己常常混淆一個觀念,在 C 語言中,若要傳遞陣列到函數中,函數的宣告可以寫為以下兩種格式:
int func (int *arr);
int func (int a[]);
如果要傳遞陣列到函數,以下方式都是正確的:
int data[10];
func (data);
func (&data[0]);
一直以來都沒有理解這兩種用法,導致使用或看 code 時,有不小的困擾,想藉著這篇文章探討這兩個用法的本質。
先說結論,其實 array 名稱在兩種狀況下會被自動轉為「一個 pointer 指向 array 的第一個元素」。
Bit Manipulation – 陪你刷題
透過 bitwise operation 來巧妙的操控個別或部分 bits ,因為 bitwise operation 的操作接近原生的 cpu instruction ,執行速度較直接使用加減乘除更快,除了常見的 XOR, OR, NOT, AND,以下還有一些常見的操作: