位運算小技巧—求中位數

參考 公式1 (x & y) + ((x ^ y) >> 1) 結果時向下取整 這樣求X,Y的平均值時就不會出現int或long long超出範圍的情況了,並且精度不丟失 若先x+y可能會超出範圍 在二分時求mid = (l + r) / 2, 用這種方法很好! 推導 因爲二進制數字都是一串0和1,那麼可以把整數x和y都看作是一個有很多不同的0和1組成的集合。 求這兩個集合的平均值就是 交集+差集
相關文章
相關標籤/搜索