java算法4~交换两个整数,不能使用任何额外的变量
来源:互联网 发布:淘宝账户名怎么修改 编辑:程序博客网 时间:2024/06/16 06:28
算法目的:交换两个整数;
算法要求:不使用任何额外的变量;
算法思路:使用位运算,异或操作。
实现如下:
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */package algorithm_database;/** * * 交换两个整数,不使用任何额外的变量 */public class ChangeTwoInteger { public static void main(String[] args){ int a = 4; //4就是0100 int b = 9; //9就是1001 a = a^b; //a就是1101 现在异或的结果1101就代表a和b的位不同的信息,这样写是因为算法实现有要求,不能用额外变量,否则用int c = a^b会好理解一点。 b = a^b; //b就是0100 为4,其实就是变成了当初的a a = a^b; //a就是1001 为9,其实就是用b(即当初的a)异或1101得到最终的a(即当初的b) System.out.println(a); System.out.println(b); } }
1 0
- java算法4~交换两个整数,不能使用任何额外的变量
- 不用额外变量交换两个整数的值
- 不用额外变量交换两个整数的值
- 位运算---不用额外变量交换两个整数的值
- Java实现两个整数变量的交换
- 不用额外变量交换两个整数值 Python版
- 两个整数变量的交换
- 不使用第三个变量完成两个整数的交换
- 不使用第三个变量完成两个整数的交换
- 不使用中间变量实现两个整数的交换
- 不使用额外空间实现两个变量(int 型)的交换
- 不用额外变量交换两个数的值
- 不占用额外空间 交换两个变量的值
- 005不用额外变量交换两个数的值
- 设计算法并写出代码移除字符串中重复的字符,不能使用额外的缓存空间。注意: 可以使用额外的一个或两个变量,但不允许额外再开一个数组拷贝。
- 不使用临时变量交换两个整数
- 不使用中间变量交换两个整数
- 不使用中间变量交换两个整数
- 11Spring的事务处理
- hdu2049 不容易系列之(4)——考新郎
- tensorflow从0开始(6)——保存加载模型
- Medium 5题 Longest Palindromic Substring
- 12Spring的事务处理二
- java算法4~交换两个整数,不能使用任何额外的变量
- PHP 用户提交的数据的安全性验证
- python中is和==的区别
- 13Spring的数据访问方式
- spring-data-mongodb-1.9.x中Aggregation关于Conditional Aggregation Operators的坑
- IOS Label下划线 中划线
- 重叠I/O之事件通知
- 日期和数量 根据数量合并分组
- bzoj 2761