點壓縮聚合 1

2021-08-16 08:29:05 字數 734 閱讀 4898

給定陣列:std::vectorp =  ;

希望得到結果:;

演算法1:

///最簡單的演算法,遍歷一遍得所有未重複索引,複製索引資料

void test12()

;long size = p.size();

long value = 1, index = 0;

std::vectorindexvec = ;

for (int i = 1; i < size;i++)

}for (int o = 0; o < indexvec.size(); o++)

std::cout << p[indexvec[o]] << std::endl;

演算法2: 移位覆蓋相同記憶體

void test3_movemem()

;long size = p.size();

long value = 1, valeindex = 0;

long findex = 1;

while(findex < size)

else //相同就把後面的一位移過來覆蓋這一位

}std::cout << "test3_movemem" << size << std::endl;

for (int o = 0; o < p.size(); o++)

std::cout << p[o] << std::endl;

此方法效率和記憶體上都 有一定提高。因為是乙個個值覆蓋,後面改寫成可以批量覆蓋。

面試聚合知識點彙總

cas 在判斷陣列中當前位置為null的時候,使用cas來把這個新的node寫入陣列中對應的位置 synchronized 當陣列中的指定位置不為空時,通過加鎖來新增這個節點進入陣列 鍊錶 8 或者是紅黑樹 鍊錶 8 詳細過程看下面原始碼 執行緒安全版的arraylist的效能比較 collecti...

詳解BGP的聚合1

一 bgp的聚合 1 手動聚合,然後在net 聚合路由 2 aggregate address 實驗拓撲 1.不加任何引數,表示明細和彙總一起傳送,會自動產生nullo路由。防環 當明細消失,彙總就會消失。配置 驗證 這個聚合有屬性atomic aggregate,表面as資訊沒有丟失。如果r1沒有...

ES 學習8 聚合1

參考資料 特定概念 桶 buckets 滿足特定條件的文件的集合 指標 metrics 對桶內的文件進行統計計算 select count color from table group by color count color 相當於指標。group by color相當於桶。聚合例子 curl x...