如何快速判斷這幾個數是否在那40億個數當中

2021-06-26 22:53:10 字數 268 閱讀 4131

給40億個不重複的unsigned int的整數,沒排過序的,然後再給幾個數,如何快速判斷這幾個數是否在那40億個數當中?

unsigned int 的取值範圍是0到2^32-1。我們可以申請連續的2^32/8=512m的記憶體,用每乙個bit對應乙個unsigned int數字。首先將512m記憶體都初始化為0,然後每處理乙個數字就將其對應的bit設定為1。當需要查詢時,直接找到對應bit,看其值是0還是1即可。

摘自:

如何快速判斷陣列中是否包含某個值

多維陣列是經常用到的資料結構,判斷陣列中是否包含某個元素的常規辦法就是變數整個陣列,逐個對比。自定義函式如下 function iteminarrayloop adata,vele as boolean iteminarrayloop false for i 1 to ubund adata,1 f...

JS如何判斷乙個陣列是否為空 是否含有某個值

一 js判斷陣列是否為空 let arr if arr.length 0 else 二 js判斷陣列是否含有某個值 方法一 arr.indexof if arr.indexof 2 1 else 方法二 for迴圈結合if判斷 for let i 0 i arr.length i 方法三 arr.f...

面試 如何判斷乙個數是否為奇數?

最開始我寫的是 return num 2 1 但發現好像忘了負數.所以改為了 return num 2 0 我以為這就解決了問題,但我習慣性檢視答案時,卻發現答案用了乙個奇怪的方法 return i 1 1 這是啥東西,冷靜下來想了一會,哦哦哦.答案是直接當做二進位制進行了運算,因為二進位制狀態下,...