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

银川商城网站开发设计网站推广服务网站连锁

银川商城网站开发设计,网站推广服务网站连锁,网站 目标,经典网站建设方案异或运算及异或运算实现的swap方法 ^(异或): ^运算是计算机中的位运算#xff0c;运算规则为相同为0#xff0c;不同为1#xff08;也被称为无进位相加#xff09;。位运算处理效率比常规运算符效率更高。 异或运算遵循的法则#xff1a; 0^N N N^N 0 异或运算…异或运算及异或运算实现的swap方法 ^(异或): ^运算是计算机中的位运算运算规则为相同为0不同为1也被称为无进位相加。位运算处理效率比常规运算符效率更高。 异或运算遵循的法则    0^N N        N^N 0   异或运算遵循 结合律与交换律      也就是说a^a^bb swap方法的两种实现 常规交换推荐 public void swap(int[] arr,int i,int j){int temp arr[i];arr[i] arr[j];arr[j] temp; } ^交换(前提要求是arr[i]与arr[j]内存地址不同) public void swap(int[] arr,int i,int j){arr[i] arr[i] ^ arr[j];arr[j] arr[i] ^ arr[j];arr[i] arr[i] ^ arr[j]; } 异或常见题 1.在一个数组中有一种数是奇数次其他数都是偶数次如何找出奇数次这种数[1,2,2,1,1,1,3,3,3]奇数次数为3 思路1.因为异或操作满足交换律所以数组可以写为 [1,1,1,1,2,2,3,3,3]            2.异或的特性  1^1 0 ;1^01    所以偶数项就消掉了只剩下一个奇数项了   public void problem1(int[] arr){int eor 0; // 0^i i;for(int i:arr){eor ^ i;}System.out.println(奇数项的数为eor); } 2.在一个数组中有两种数是奇数次其他数都是偶数次如何找出奇数次这种[1,2,2,1,4,4,1,4,1,3,3,3] 奇数次数为34 思路1.数组所有数异或出来的结果肯定是 a^b 其中 a   b必定是奇数项            2.因为a与b又不相等所以a^b的结果在2进制上某一位也比不相等(值称为rightOnerightOne 二进制表达为 0000 0100这种有规律的结构)            3.将数组划分为两个空间^rightOne的值被分为a所在区间或者b所在区间(根据结果等于1或者0判断)但是在这个区间里面只有a或者b 不存在ab同时存在的情况。            4.找到a   又知道a^b   所以 a^a^b b  a、b两个结果都被求解出来了      public void problem2(int[] arr){int eor 0;for(int i:arr){eor ^i;}int rightOne eor (~eor 1);//a^b 源码与补码进行 操作 结果为 最右边二进制不相等的位次 int resultA 0;for(int i:arr){if(i^rightOne 1){//区间划分resultA ^i; }}int resultB eor^resultA;System.out.println({resultA ,resultB }); } 选择排序 public int[] selectSort(int[] arr){for(int i 0;i arr.length-1;i){ //该for循环保证在第i个位置上是[i,N]位置上的最小数int minIndex i;for(int j i1;j arr.length-1;j){//保证当前位置为整个数组最小值minIndex arr[i] arr[j] ? j : minIndex;}swap(arr,i,minIndex);} } //交换方法 public void swap(int[] arr,int i,int j){int temp arr[i];arr[i] arr[j];arr[j] temp; } 冒泡排序 public int[] bubbleSort(int[] arr){for(int i arr.length-1;i 0;i){//确定数组最右边的元素最大for(int j 0;j i;j){//对比数组中所有元素一步步的将最大的元素移植最右边if(arr[j] arr[j1]){//对比相邻数的大小进行交换swap(arr,j,j1);}}}return arr; } 插入排序 public int[] insertSort(int[] arr){for(int i 1;i arr.length;i){//0-i位置上有序//向左判断数组大小如果当前位置小于前一个位置进行交换for((int j i-1;j 0 arr[j] arr[j1];j--){swap(arr,j,j1);}}} 对数器 什么是对数器对数器指的是在没有OJ平台在线程序测评系统时自测的一种方式。实现原理就是生成随机数据。例如数组长度随机数据随机的数组。将两套算法结果进行对比如果全部相同说明算法正确。其中一种算法是否正确未知另一种算法为暴力解法这种容易想并且不会错的座位对比项 package com.example.math;import java.util.Arrays;/*** author geekYang* version 1.0* since 1.0*/ public class 对数器 {public static void main(String[] args) {int maxSize 100;int maxValue 100;int testTotal 50000;//测试次数boolean succed true;for (int i 0; i testTotal; i) {int[] arr1 generateRandomArr(maxSize, maxValue);int[] arr2 Arrays.copyOf(arr1, arr1.length);comparator(arr1);insertSort(arr2);if (!Arrays.equals(arr1, arr2)) {succed false;break;}}System.out.println(succed ? Nice : Fucking fucked!);}//生成随机数组方法public static int[] generateRandomArr(int maxSize, int maxValue) {//(int) ((maxSize 1) * Math.random()) 生成随机[0,maxSize]范围的数int[] arr new int[(int) ((maxSize 1) * Math.random())];for (int i : arr) {arr[i] (int) ((maxSize 1) * Math.random()) - (int) ((maxSize 1) * Math.random());}return arr;}//对比方法public static int[] comparator(int[] arr) {for (int i 0; i arr.length - 1; i) {int minIndex i;for (int j i 1; j arr.length - 1; j) {minIndex arr[i] arr[j] ? j : minIndex;swap(arr, j, minIndex);}}return arr;}//测试方法public static int[] insertSort(int[] arr) {for (int i 1; i arr.length - 1; i) {for (int j i - 1; j 0 arr[j] arr[j 1]; j--) {swap(arr, j, j 1);}}return arr;}private static void swap(int[] arr, int i, int j) {int temp arr[i];arr[i] arr[j];arr[j] temp;} }本文章根据左程云老师课程进行总结反思
http://www.w-s-a.com/news/162616/

相关文章:

  • 河南便宜网站建设价格低上海高端室内设计
  • 保险网站有哪些平台wordpress会员vip购买扩展
  • 网站怎么做图片转换广州车陂网站建设公司
  • 下载flash网站网站设计书的结构
  • 水利建设公共服务平台网站放心网络营销定制
  • 设计网站过程wordpress+分页静态
  • 临海网站制作好了如何上线如果安装wordpress
  • 长沙 学校网站建设网站制作价格上海
  • 九江网站推广徽hyhyk1国家住房部和城乡建设部 网站首页
  • 阿克苏网站建设咨询动漫设计与制作属于什么大类
  • 网站编辑做多久可以升职wordpress版权修改
  • 网站开发维护成本计算国外外贸平台
  • 简单的招聘网站怎么做购物网站功能报价
  • 哪个网站做中高端衣服建设自己网站的流程
  • 网站建设概况做网站的是怎么赚钱的
  • 网站发布信息的基本流程现在都不用dw做网站了吗
  • 赣州热门网站深圳龙岗做网站的公司
  • 中国最大的建站平台广告传媒公司取名
  • 深圳网站设计公司专业吗学动漫设计后悔死了
  • 企业网站形象建设网站开发入职转正申请书
  • 网站设计步骤济南建设网中标公告
  • 石佛营网站建设wordpress关健词
  • 您的网站空间即将过期建站 discuz
  • 上海简站商贸有限公司福州哪家专业网站设计制作最好
  • 博客网站开发流程苏州专业做网站的公司哪家好
  • 四川手机网站建设西安 网站 高端 公司
  • 织梦大气绿色大气农业能源化工机械产品企业网站源码模版建筑工程知识零基础
  • 广州番禺网站公司v2017网站开发
  • 微信公众号怎么做微网站wordpress和dz
  • 西部数码网站管理助手 301福州搜索优化实力