試真題 新系統(tǒng) - 終端設(shè)備檔位差異統(tǒng)計(jì) (JavaPyCC++JsGo))
終端設(shè)備檔位差異統(tǒng)計(jì)2026 華為OD機(jī)試真題 6月24日華為OD上機(jī)新系統(tǒng)考試真題 100 分題型點(diǎn)擊查看華為 OD 機(jī)試真題完整目錄2026最新華為OD機(jī)試新系統(tǒng)卷 雙機(jī)位C卷 真題題庫目錄全覆蓋題庫 逐點(diǎn)算法考點(diǎn)詳解題目描述在進(jìn)行手機(jī)、平板、穿戴等設(shè)備的系統(tǒng)調(diào)優(yōu)時(shí)會(huì)為不同設(shè)備采集一組性能與能耗綜合檔位值為了分析產(chǎn)品矩陣中是否存在穩(wěn)定的檔位梯度工程師需要統(tǒng)計(jì)所有 “檔位差異恰好為指定值” 的檔位組合數(shù)量。給定一個(gè)整數(shù)數(shù)組 profiles其中 profiles[i] 表示第 i 臺(tái)終端設(shè)備的綜合檔位值再給定一個(gè)非負(fù)整數(shù) diff表示目標(biāo)檔位差。請(qǐng)你返回不同檔位值組成的組合數(shù)量使得兩個(gè)檔位值的絕對(duì)差等于 diff。2026 華為OD機(jī)試真題 6月24日華為OD上機(jī)新系統(tǒng)考試真題 100 分題型注意只按檔位值去重不按設(shè)備下標(biāo)計(jì)數(shù)。 例如 profiles[1,1,3,3]diff2 時(shí)只能計(jì)為一組 (1,3)。當(dāng) diff0 時(shí)只有某個(gè)檔位值出現(xiàn)至少兩次才可以形成一組。約束條件1≤ profiles.size() ≤100000?2147483648≤ profiles[i] ≤21474836470≤diff≤2147483647輸入描述一個(gè)整數(shù)數(shù)組 profiles,其中 profiles[i] 表示第 i 臺(tái)終端設(shè)備的綜合檔位值-一個(gè)非負(fù)整數(shù) diff表示目標(biāo)檔位差輸出描述不同檔位值組成的組合數(shù)量示例1輸入1,5,3,4,22輸出3說明滿足要求的不同檔位組合為 (1,3)、(3,5)、(2,4)共 3 組。示例2輸入8,8,8,10,10,120輸出2說明檔位 8 和檔位 10 都至少出現(xiàn)兩次可以分別形成一組差值為 0 的組合檔位 12 只出現(xiàn)一次不能形成組合。示例3輸入-5,-3,-1,1 2輸出3說明滿足要求的組合為 (?5,?3)、(?3,?1)、(?1,1)。解題思路核心思想統(tǒng)計(jì)數(shù)組中不同檔位值之間的差值為diff的組合數(shù)量。核心思想是去重處理只按檔位值去重不按設(shè)備下標(biāo)計(jì)數(shù)特殊情況當(dāng)diff0時(shí)只有出現(xiàn)至少兩次的檔位才能形成組合避免重復(fù)遍歷集合時(shí)只檢查v與vdiff避免 (v, vdiff) 和 (vdiff, v) 重復(fù)計(jì)數(shù)算法步驟將數(shù)組轉(zhuǎn)為集合去重若diff0統(tǒng)計(jì)出現(xiàn)次數(shù) 2 的檔位數(shù)量若diff0遍歷集合檢查vdiff是否也在集合中統(tǒng)計(jì)滿足條件的數(shù)量返回統(tǒng)計(jì)結(jié)果復(fù)雜度分析時(shí)間復(fù)雜度O(n)只需遍歷數(shù)組一次建立集合空間復(fù)雜度O(n)最壞情況下集合