MST

星途 面试题库

面试题:Rust位运算符优化算法

假设有一个u8类型的数组vec,其中每个元素代表一个状态标记(0或1)。使用Rust位运算符,编写一个高效的函数,计算这个数组中有多少个元素的值为1,要求尽量减少循环次数和内存开销。
44.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn count_ones(vec: &[u8]) -> u32 {
    let mut count = 0;
    for &num in vec.iter() {
        let mut n = num;
        while n != 0 {
            count += (n & 1) as u32;
            n >>= 1;
        }
    }
    count
}