位运算
总结位运算在算法中的应用和技巧
最白の白菜
Java道路长漫漫,坚持学习最关键。
人生苦短,我用Python。
人外有人,山外有山。越努力,越幸运!
展开
-
Exam09_StrangeDonate(java)
Exam09_StrangeDonate描述输入输出样例输入样例输出我的代码描述地产大亨Q先生临终的遗愿是:拿出100万元给X社区的居民抽奖,以稍慰藉心中愧疚。麻烦的是,他有个很奇怪的要求:100万元必须被正好分成若干份(不能剩余)。每份必须是7的若干次方元。比如:1元, 7元,49元,343元,…相同金额的份数不能超过5份。在满足上述要求的情况下,分成的份数越多越好!请你帮忙计算...原创 2020-03-18 13:10:28 · 112 阅读 · 0 评论 -
Exam08_ChangeBit(Java)
题目:Exam08_ChangeBit添加@[TOC]描述给定两个整数A和B,需要改变几个二进制位才能将A转为B。输入1行:A和B,空格隔开输出需要改变的位数样例输入10 8样例输出1我的代码方法一 Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt()...原创 2020-03-18 12:18:29 · 111 阅读 · 0 评论 -
Exam07_TwoSingleNumbers
题目:Exam07_TwoSingleNumbers文章目录题目:Exam07_TwoSingleNumbers描述:输入:输出样例输入样例输出我的代码描述:一个整型数组里除了两个数字(互不相同)之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。输入:第一行:数组的长度N(1<n<100000)第二行:N个整数...原创 2020-03-17 20:53:02 · 73 阅读 · 0 评论 -
出现K次与出现1次
题目如下:public class 出现K次与出现1次 { /** * @param args */ public static void main(String[] args) { // mytest(); // 位运算解法 int a[] = { 2, 2, 2, 9, 7, 7, 7, 3, 3, 3, 4, 4, 4, 5, 5, 5 }; int le...原创 2020-03-17 18:31:39 · 174 阅读 · 0 评论 -
二进制表示浮点数
题目如下:public class 二进制表示浮点数 { /** * @param args */ public static void main(String[] args) { double num = 0.625; //拼接字符串 StringBuilder sb = new StringBuilder("0."); while (num > 0) {...原创 2020-03-16 19:22:27 · 206 阅读 · 0 评论 -
将整数的奇偶位互换
public class 将整数的奇偶位互换 { /** * @param args */ public static void main(String[] args) { int a = 9; //和1010 1010 ....(32位)做&运算取出偶数位 int ou = (a&0xaaaaaaaa); //和0101 0101 ....(32位)...原创 2020-03-16 19:21:19 · 157 阅读 · 0 评论 -
是不是2的整数次方
题目如下:public class 是不是2的整数次方 { /** * @param args */ public static void main(String[] args) { //位运算 int n = (int) Math.pow(2, 3); int n2 = 8; int n3 = 9; if (((n3-1)&n3) == 0) { ...原创 2020-03-16 19:20:28 · 72 阅读 · 0 评论 -
找出落单的那个数
题目如下:import java.util.Scanner;public class Demo_找出落单的那个数 { /** * @param args */ public static void main(String[] args) { int a[] = new int[5]; Scanner sc = new Scanner(System.in); for...原创 2020-03-16 18:30:26 · 230 阅读 · 0 评论 -
找出唯一成对的数
题目如下:import java.util.Random;public class Demo_找出唯一成对的数 { /** * @param args */ public static void main(String[] args) { //mytest(); int N = 1001; int[] arr = new int[N]; for (int i ...原创 2020-03-16 18:28:29 · 115 阅读 · 0 评论 -
二进制中1的个数
题目如下:这里我总结了多种方法:import java.util.Scanner;public class Demo_二进制中1的个数 { /** * @param args */ public static void main(String[] args) { //第一种方法,拆成字符串数组 //anwser1(); //法二:拿一个1,从右到左与原数字做...原创 2020-03-16 18:23:50 · 63 阅读 · 0 评论