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

有什么做调查的网站好住房和城乡建设部网站投诉电话

有什么做调查的网站好,住房和城乡建设部网站投诉电话,商城网站建设公司电话,华为免费企业网站建设12days 章节结构 00 算法前导课-编程基础(自学的视频) 01 位运算的奇巧淫技 02 查找与排序(上) 03 数组、查找与排序(下) 04 多维数组与矩阵 05 字符串专题 06 基本数学问题 06 递归、DFS、剪枝、回溯等问题 07 贪心策…

12days 

章节结构

00 算法前导课-编程基础(自学的视频)

01 位运算的奇巧淫技

02 查找与排序(上)

03 数组、查找与排序(下)

04 多维数组与矩阵

05 字符串专题

06 基本数学问题

06 递归、DFS、剪枝、回溯等问题

07 贪心策略与动态规划

08 线性结构:列表、链表、栈、队列

09 哈希表、哈希映射

10 树结构

11 图论

推荐书籍

《程序员面试金典》【cc150 :crack the code of interview】、《挑战程序设计竞赛》、《程序员代码面试指南》、《剑指offer》、《编程之美》、《算法导论》

学习方法

多敲多理解多复习

位运算与进制基础

进制基础:

        十进制、二进制、八进制、十六进制(A-F代表10-15)

进制转换方法:

        十转二、二转十、二转八、八转二、二转十六、十六转二

位运算:

        按位与(&)、按位或(|)、按位异或(^)、按位取反(~)

        左移(<<)、右移(>>)

判断奇偶数

使用&运算

// 判断一个数是奇数还是偶数
public class BitwiseTricks {// 方法:判断奇偶数public static boolean isEven(int num) {// 与1进行按位与操作,如果结果为0,则是偶数,否则是奇数return (num & 1) == 0;}public static void main(String[] args) {int num1 = 10; int num2 = 7;System.out.println(num1 + " is even: " + isEven(num1)); System.out.println(num2 + " is even: " + isEven(num2)); }
}
 
  • isEven方法中,num & 1只保留了num的最低位。如果num是偶数,其最低位为 0,与 1 按位与结果为 0;如果是奇数,最低位为 1,与 1 按位与结果为 1。

获取二进制位是 1 还是 0

 
  • 方法一:位移和按位与
// 获取整数指定位置的二进制位是1还是0(方法一:位移和按位与)
public class BitwiseTricks {// 方法:获取指定位置的位public static int getBit(int num, int i) {// 将num右移i位,然后与1进行按位与操作return (num >> i) & 1;}public static void main(String[] args) {int num = 13; // 二进制为1101int bitPosition = 2; System.out.println("The bit at position " + bitPosition + " of " + num + " is: " + getBit(num, bitPosition)); }
}
  &运算用1做运算即保留,用0做运算即消除
  • 这里num >> inum的第i位移动到最低位,然后与 1 按位与,得到该位的值(0 或 1)。

  • 方法二:掩码操作

// 获取整数指定位置的二进制位是1还是0(方法二:掩码操作)
public class BitwiseTricks {// 方法:获取指定位置的位public static int getBit(int num, int i) {// 创建掩码,将1左移i位int mask = 1 << i;// 与num进行按位与操作return (num & mask) != 0 ? 1 : 0;}public static void main(String[] args) {int num = 13; // 二进制为1101int bitPosition = 2; System.out.println("The bit at position " + bitPosition + " of " + num + " is: " + getBit(num, bitPosition)); }
}
 
  • 1 << i创建了一个只有第i位为 1 的掩码,与num按位与后,如果结果不为 0,则num的第i位为 1,否则为 0。

交换两个整数变量的值

// 交换两个整数变量的值
public class BitwiseTricks {// 方法:交换两个整数public static void swap(int[] nums, int i, int j) {// 利用异或操作交换两个数nums[i] = nums[i] ^ nums[j];nums[j] = nums[i] ^ nums[j];nums[i] = nums[i] ^ nums[j];}public static void main(String[] args) {int[] nums = {5, 10};System.out.println("Before swap: num1 = " + nums[0] + ", num2 = " + nums[1]);swap(nums, 0, 1);System.out.println("After swap: num1 = " + nums[0] + ", num2 = " + nums[1]);}
}
 
  • 原理与前面 C/C++ 的示例相同,通过三次异或操作实现两个数的交换,而不需要额外的临时变量。

不用判断语句,求整数的绝对值

// 不用判断语句求整数的绝对值
public class BitwiseTricks {// 方法:求整数的绝对值public static int abs(int x) {// 得到符号位扩展后的结果int mask = x >> 31;// 利用异或操作求绝对值return (x + mask) ^ mask;}public static void main(String[] args) {int num1 = -5;int num2 = 7;System.out.println("The absolute value of " + num1 + " is: " + abs(num1));System.out.println("The absolute value of " + num2 + " is: " + abs(num2));}
}
 
  • x >> 31对于正数得到 0,对于负数得到-1(在 Java 中int是 32 位有符号整数,-1的二进制表示为全 1)。对于正数,(x + mask) ^ mask = x ^ 0 = x;对于负数,x + mask相当于x - 1,然后与mask异或得到其绝对值。

题解

题1:找出唯一成对的数
        1-1000这1000个数放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次。每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,能否设计一个算法实现?

//使用异或运算
public class 找出唯一成对的数 {public static void main(String[] args) {int N = 1001;int []arr= new int[N];for(int i = 0;i<arr.length-1;i++){arr[i]=i+1;}//生成最后一个随机数arr[arr.length-1]=new Random().nextInt(N-1)+1;//随机下标//这个先实现不了for (int i = 0; i < arr.length; i++) {System.out.print(" "+arr[i]);}int x1=0;for(int i=1;i<=N-1;i++){x1=(x1^i);}for(int i=0;i<N;i++){x1=x1^arr[i];}System.out.println();System.out.println(x1);}
}

题2:找出落单的那个数
        一个数组里除了某一个数字之外,其他的数字都出现了两次。请写程序找出这个只出现一次的数字。

  • 使用 str.charAt(i) - '0' 将字符转换为对应的整数值。
  • 这种方法利用了字符在ASCII表中的顺序特性。

题3:二进制中1的个数
        请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。

        例:9的二进制表示为1001,有2位是1

题4:是不是2的整数次方

        用一条语句判断一个整数是不是2的整数次方。

失败的蓝桥准备工作:经验教训以后别懒

http://www.dtcms.com/a/510827.html

相关文章:

  • 郴州建设网站制作宁波定制网站建设解决方案
  • 网站首页布局自适应建筑学不会画画影响大吗
  • 汉服网站怎么做网站设计与制作说明
  • 农家乐网站建设营销方案网站建设版块分类
  • 学校网站模版网站建设及优化方案
  • 网站建设企业建站模板dedecms 网站地图模板
  • 好看云在线网站模板下载 迅雷下载 迅雷下载地址python 做下载网站
  • 网站建设理论知识新沂微网站开发
  • 北京招聘网站设计师网络营销是借助于什么营销手段
  • 广元市住房和城乡建设局网站合肥网站优化技术
  • phpcms套好的网站 放到空间上 后台打开的验证码不能显示建站空间哪个好
  • 源码论坛网站网站开发人员工具
  • 成品在线网站免费入口优化方案系列丛书
  • 网站结构规划网站规划建设与管理维护课后答案
  • iis应用程序池 网站佛山网站建设收费标准
  • 建设旅游网站需要多少钱比较好的网站公司吗
  • 长沙模板网站建设百度seo怎么提高排名
  • 品牌网站建设网站室内装饰设计网站
  • 北京网站开发不限年龄凡客优品官方网站
  • 湛江做网站设计公司手机之家app下载
  • 湘潭做网站建设的公司安卓app开发环境
  • 怎么用电脑windows做网站制作网页时我们应当规避侵权风险
  • 哪里 教做网站带维护wordpress并发
  • 怎样提高网站的权重汽车网站建设公司
  • 分类信息网站怎么做SEOwordpress中英文转换
  • 什么是网站源码网站建设新的技术
  • 淄博网站制作网页营销工商变更
  • 江苏大才建设集团网站新郑建设局网站
  • 大连建站程序服务器在国外的网站
  • 网站怎么做流程佛山 做网站公司