当前位置: 首页 > news >正文

重庆智能网站建设设计洛阳搜索引擎优化

重庆智能网站建设设计,洛阳搜索引擎优化,小程序源码带后台,可以做海报的网站按位异或#xff1a;相同为0#xff0c;不同为1 异或运算性质 1#xff09;异或运算就是无进位相加#xff08;ab写二进制形式每位相加时不进位#xff09; 2#xff09;异或运算满足交换律、结合律#xff0c;也就是同一批数字#xff0c;不管异或顺序是什么#…按位异或相同为0不同为1 异或运算性质 1异或运算就是无进位相加ab写二进制形式每位相加时不进位 2异或运算满足交换律、结合律也就是同一批数字不管异或顺序是什么最终的结果都是一个 30^nnn^n0原来是0还是0原来是1无进位想加还是0 4整体异或和如果是x整体中某个部分的异或和如果是y那么剩下部分的异或和是x^y 应用不借助中间变量交换ab的值 aa^b; ba^b; aa^b; 弊端尤其进行数组下标交换时要保证指针位置不能相同指向的数的值可以相同 arr[i]i^j;arr[j]i^j;arr[i]i^j;        前提ij 数组中1种数出现了奇数次其他的数都出现了偶数次返回出现了奇数次的数 出现了偶数次的数与eor异或结果还是eor 怎么把一个int类型的数提取出最右侧的1来 ~a把a打散盯着最右侧的1,1自身变0左右两侧均取反 ~a1最右侧的1左边的数字没变右边使得盯着的1由还原 ~a1-a 数组中有2种数出现了奇数次其他的数都出现了偶数次找到并打印这两种数 public class Code02_EvenTimesOddTimes {// arr中只有一种数出现奇数次public static void printOddTimesNum1(int[] arr) {int eor 0;for (int i 0; i arr.length; i) {eor ^ arr[i];}System.out.println(eor);}// arr中有两种数出现奇数次public static void printOddTimesNum2(int[] arr) {int eor 0;for (int i 0; i arr.length; i) {eor ^ arr[i];}// a 和 b是两种数// eor ! 0// eor最右侧的1提取出来// eor : 00110010110111000// rightOne :00000000000001000int rightOne eor (-eor); // 提取出最右的1int onlyOne 0; // eorfor (int i 0 ; i arr.length;i) {// arr[1] 111100011110000// rightOne 000000000010000if ((arr[i] rightOne) ! 0) {onlyOne ^ arr[i];}}System.out.println(onlyOne (eor ^ onlyOne));}public static int bit1counts(int N) {int count 0;// 011011010000// 000000010000 1// 011011000000// while(N ! 0) {int rightOne N ((~N) 1);count;N ^ rightOne;// N - rightOne}return count;}public static void main(String[] args) {int a 5;int b 7;a a ^ b;b a ^ b;a a ^ b;System.out.println(a);System.out.println(b);int[] arr1 { 3, 3, 2, 3, 1, 1, 1, 3, 1, 1, 1 };printOddTimesNum1(arr1);int[] arr2 { 4, 3, 4, 2, 2, 2, 4, 1, 1, 1, 3, 3, 1, 1, 1, 4, 2, 2 };printOddTimesNum2(arr2);}}假设ab这两个数出现了奇数次拿eor^整个数组得到eora^b而ab说明eor0说明eor某一位必然有1不妨取最右边的1然后根据这个1对原数组进行分类一类这一位上有1另一类没有假设a这一位上有1b没有定义eor·异或上a所在的那一类那一类只有a出现了奇数次所以eor·a然后eor·在异或eor得到b 一个数组中有一种数出现了k次其他数字都出现了m次m1,km,找到出现了k次的数 package class02;import java.util.HashMap; import java.util.HashSet;public class Code03_KM {public static int test(int[] arr, int k, int m) {HashMapInteger, Integer map new HashMap();for (int num : arr) {if (map.containsKey(num)) {map.put(num, map.get(num) 1);} else {map.put(num, 1);}}for (int num : map.keySet()) {if (map.get(num) k) {return num;}}return -1;}public static HashMapInteger, Integer map new HashMap();// 请保证arr中只有一种数出现了K次其他数都出现了M次public static int onlyKTimes(int[] arr, int k, int m) {if (map.size() 0) {mapCreater(map);}int[] t new int[32];// t[0] 0位置的1出现了几个// t[i] i位置的1出现了几个for (int num : arr) {while (num ! 0) {int rightOne num (-num);t[map.get(rightOne)];num ^ rightOne;}}int ans 0;for (int i 0; i 32; i) {if (t[i] % m ! 0) {if (t[i] % m k) {ans | (1 i);} else {return -1;}}}if (ans 0) {int count 0;for (int num : arr) {if (num 0) {count;}}if (count ! k) {return -1;}}return ans;}public static void mapCreater(HashMapInteger, Integer map) {int value 1;for (int i 0; i 32; i) {map.put(value, i);value 1;}}public static int[] randomArray(int maxKinds, int range, int k, int m) {int ktimeNum randomNumber(range);// 真命天子出现的次数int times Math.random() 0.5 ? k : ((int) (Math.random() * (m - 1)) 1);// 2int numKinds (int) (Math.random() * maxKinds) 2;// k * 1 (numKinds - 1) * mint[] arr new int[times (numKinds - 1) * m];int index 0;for (; index times; index) {arr[index] ktimeNum;}numKinds--;HashSetInteger set new HashSet();set.add(ktimeNum);while (numKinds ! 0) {int curNum 0;do {curNum randomNumber(range);} while (set.contains(curNum));set.add(curNum);numKinds--;for (int i 0; i m; i) {arr[index] curNum;}}// arr 填好了for (int i 0; i arr.length; i) {// i 位置的数我想随机和j位置的数做交换int j (int) (Math.random() * arr.length);// 0 ~ N-1int tmp arr[i];arr[i] arr[j];arr[j] tmp;}return arr;}// [-range, range]public static int randomNumber(int range) {return ((int) (Math.random() * range) 1) - ((int) (Math.random() * range) 1);}public static void main(String[] args) {int kinds 5;int range 30;int testTime 100000;int max 9;System.out.println(测试开始);for (int i 0; i testTime; i) {int a (int) (Math.random() * max) 1; // a 1 ~ 9int b (int) (Math.random() * max) 1; // b 1 ~ 9int k Math.min(a, b);int m Math.max(a, b);// k mif (k m) {m;}int[] arr randomArray(kinds, range, k, m);int ans1 test(arr, k, m);int ans2 onlyKTimes(arr, k, m);if (ans1 ! ans2) {System.out.println(ans1);System.out.println(ans2);System.out.println(出错了);}}System.out.println(测试结束);}}
http://www.zqtcl.cn/news/93190/

相关文章:

  • 网站备案一次就可以了吧营销管理培训课程
  • 怎么做网站背景专做民宿预定的网站
  • wordpress安装谷歌分析代码建网站seo
  • 百度外卖网站建设与维护方法建设 银行网网站
  • 小程序开发定制开发上海优化价格
  • 来宾住房和城乡建设局网站做外贸推广要做哪些平台
  • 无锡建设网站制作wordpress 知乎
  • 动漫网站源码免费怎么怎么做网站
  • 和两个黑人同时做网站中工互联网站建设
  • windows10PHP 网站建设app应用分发平台开发
  • 中唯建设工程有限公司网站做网站页面对PS切图
  • 个人网页制作成品欣赏seo网站沙盒期
  • 亚马逊站外推广网站怎么做制作营销网站模板免费下载
  • 加拿大网站后缀设计师互联网
  • 做物流的网站有哪些内容共同建设网站心得
  • 主题资源网站建设什么网站做污水处理药剂的好
  • 河北建设厅网站修改密码在哪58同城宿迁二手房
  • 淘宝联盟的购物网站怎么做免费网站模板素材
  • 淄博市网站云平台长沙seo 优化选智投未来no1
  • 手机网站导航模板wordpress子域名设置
  • 济南市网站推广公司甘肃网站建设方案优化
  • 网站排名西安工商所什么网站可做年报
  • 网站怎样做反向链接哪个网站可以做代码题目
  • opencart做外贸网站怎样丽水市城乡建设局网站
  • 黑色网站配色typora wordpress
  • 哪个网站做的系统好用吗开一家网站建设公司好
  • 高仿服装网站建设高端网站建设服务
  • 网站怎么做前后台存取旅游网站建设的目的与意义是什么意思
  • 网站一年了百度不收录自己做的网站怎么植入erp
  • 怎样做能让招聘网站记住密码广州建设营销型网站