美文网首页
奇怪的算法(常更)

奇怪的算法(常更)

作者: 睦月MTK | 来源:发表于2020-05-13 15:32 被阅读0次

声明:本文用于收集一些奇怪精妙的算法,不定期更新


一、寻找下一个比当前数值大的2次幂的值
  • 来源:(Java)类:ForkJoinPool
  • 来源代码引用
//n必不为负数,且不大于32767
n |= n >>> 1;
n |= n >>> 2;
n |= n >>> 4;
n |= n >>> 8;
n |= n >>> 16;  
n = n + 1;
  • 作用
    找出比n大的下一个2次幂的数的值(0<=n<=2147483647)
  • 分析
    • n |= n >>> 1后,n中(除了两端)任意一个位1其旁边必定至少还有1个位1
    • n |= n >>> 2后,n中(除了两端)任意一个位1其旁边必定至少还有3个连续的位1
    • n |= n >>> 4后,n中(除了两端)任意一个位1其旁边必定至少还有7个连续的位1
    • n |= n >>> 8后,n中(除了两端)任意一个位1其旁边必定至少还有15个连续的位1
      ...
  • 使用方法
    • 重要的是控制n的范围,n的范围由最后一次右移位数的倍数决定,比如该例子n的范围最大就是216*2-1


参考文档:

相关文章

  • 奇怪的算法(常更)

    声明:本文用于收集一些奇怪精妙的算法,不定期更新 一、寻找下一个比当前数值大的2次幂的值 来源:(Java)类:F...

  • 社交Top483——大学生轻社交tataUFO

    功能: 1、每日推荐,按照奇怪的匹配算法(“姐姐更配小鲜肉”配你妹啊)进行匹配。显示生日大小,身高,学校以及照片。...

  • 坚持

    差点忘记今天的日更,有时候真奇怪自己哪根筋搭错了,挑战日更,也常觉得这样流于形式有些违背自己的初衷,但是既然开始了...

  • 更奇怪的梦

    前几天我做了一个奇怪的梦,今天的梦里那只更奇怪。 我梦见了“ 在五夜里我起来突然听到一个声音,原来是小...

  • 奇怪的日更

    前天晚上,我的作业完成地比较快,到了写简书的时候,我就抓紧时间连写了两篇,发布了其中的一篇,留了一篇明天再发,...

  • 奇怪的日更

    写完已发布,日更信息说,你已经完成了日更,十秒之内我去找这篇文章去打卡,文章消失了,我有不甘心,找了二十分钟,无果...

  • 面试常考的算法

    有感于最近数据结构的难度越来越大,觉得先面试应付要紧,于是这边先写了几个关于面试要用的算法 第一个是判断是不是质数...

  • 常见排序算法 - Swift实现

    常见排序算法 排序算法是算法和数据结构中最为基础,同时很多面试也都是各种算法的变种,因此使用swift对目前较为常...

  • js常考算法

    1. 一个数组,有2n个元素,其中有个数字重复出现了n次。其他n个数字都是不相同的。 空间复杂度O(1)。时间复...

  • 奇怪

    奇怪 奇怪的是你奇怪我 奇怪我的奇怪比不上 我奇怪你对奇怪我的奇怪更奇怪 如果你不奇怪 也不会奇怪奇怪的我

网友评论

      本文标题:奇怪的算法(常更)

      本文链接:https://www.haomeiwen.com/subject/pfvnnhtx.html