题解《算法零基础100讲》(第16讲) 变量交换算法(java版)

Posted 敲代码的xiaolang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题解《算法零基础100讲》(第16讲) 变量交换算法(java版)相关的知识,希望对你有一定的参考价值。

😁算法小白欢迎加入此社区:https://bbs.csdn.net/forums/hero?category=0
由英雄大佬带领的抱团学算法队伍,从0开始,期待你的加入
🥳

本博文是对此文章习题所作的题解,如有不足,请多指教:https://blog.csdn.net/WhereIsHeroFrom/article/details/121155355

今日题解:
第一题:https://leetcode-cn.com/problems/swap-numbers-lcci/

class Solution {
    public int[] swapNumbers(int[] numbers) {
        numbers[0] = numbers[0] ^ numbers[1];
        numbers[1] = numbers[0] ^ numbers[1];
        numbers[0] = numbers[0] ^ numbers[1];
        return numbers;
    }
}


第二题:https://leetcode-cn.com/problems/exchange-lcci/

直接看下面的图,很好理解:

class Solution {
    public int exchangeBits(int num) {
        int even = num&(0xaaaaaaaa);/*a=1010,所以这里就是许多101010101010.... */
        int odd = num&(0x55555555);/*5是0101,所以这里是010101010101.... */
        return (even>>1)+(odd<<1);/*相加 */
    }
}

有问题欢迎留言,欢迎加入“万人千题”社区,在这里一起努力。

以上是关于题解《算法零基础100讲》(第16讲) 变量交换算法(java版)的主要内容,如果未能解决你的问题,请参考以下文章

题解《算法零基础100讲》(第6讲) 日期算法(java版)

《算法零基础100讲》(第46讲) 位运算 (异或) 入门

题解《算法零基础100讲》(第7讲---丑数) (java版)

题解《算法零基础100讲》(第8讲) 素数筛选(java版)

题解《算法零基础100讲》(第17讲) 线性枚举 - 最值算法(java版)

题解《算法零基础100讲》(第9讲) 算术基本定理(java版)