highbit 咋 O(1)?
  • 板块学术版
  • 楼主awdec
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/7/27 20:43
  • 上次更新2024/7/27 22:20:53
查看原帖
highbit 咋 O(1)?
285856
awdec楼主2024/7/27 20:43

百度出来一个

int highestBit(int num) {

    if (num == 0) return 0;

    return sizeof(num) * CHAR_BIT - 1 - __builtin_clz(num);

}

但是实测耗时貌似跟我直接枚举位没啥区别?

上面的 sizeof 和 __builtin_clz 都是 O(1)O(1) 而不是位数的吗?

2024/7/27 20:43
加载中...