contributed by < haoyu0970624763
>
Hamming Distance 是要計算兩串二進位字串不同的地方有幾個,也就是計算 XOR 之後 有幾個 1
可以從這一行看出 parent
為 pointer to pointer 的 type
max_level
是紀錄現在這個tree當中最大的level數為多少
將 obj->parent
做成二維陣列,obj->parent[n][max_level]
並將所有值初始化成 -1
( -1 表示 no ancestor 的意思)
parent[i]
存放的是 nodei 父親的位置
並把obj->parent[i][0]
用來存放 nodei 的父親
目的: 設置 obj->parent 的 element
從 1 數到 n
可以觀察到:
程式解說
div3
、div5
分別可知道 i
是否為 3 或 5 的倍數
這個概念在quiz2有碰過
length
則是根據我們觀察,判斷是不是3或5的倍數進行 operator 的平移
div3 |
div5 |
length |
( 8 >> div5) >> (div3 << 2) |
---|---|---|---|
1 | 0 | 4 | 0 |
0 | 1 | 4 | 4 |
1 | 1 | 8 | 0 |
0 | 0 | 2 | 8 |