相同bit1的最大的数
生活随笔
收集整理的這篇文章主要介紹了
相同bit1的最大的数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定整數n,求出和n 的bit 1的數量相同的,并且大于n的最小值,或者小于n的最大值
這個題目的思路和給定2134,求相同數字的大于2134的最小值思路一樣,都是從后往前找,找到第一次遇到的數字下降,然后再從后往前,找到第一個大于這個數字的數,然后交換,然后從下降位置之后的所有數字從小到大排序
求小于2134的最大值,從后往前找,第一次遇到數字上升的位置i, 再從后往前找第一個小于位置i上的數字,交換,將i位置之后的所有數字,從大到小排序
這道題目的技巧在于,都是01的變換,少了排序的步驟,只需要計算在后面部門的1的數量,然后講這些1放在最后,或者放在前面,即可
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的相同bit1的最大的数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 检测单链表是否是回文
- 下一篇: find all pairs of el