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

郑州做网站网站建设费用网址创建

郑州做网站网站建设费用,网址创建,国外 网站开发框架,关于网站建设培训目录 1. 判断字符是否唯一2. 消失的数字3. 两整数之和4. 只出现一次的数字II5. 消失的两个数字 前情提要:如果对一些常见的二进制位运算不熟悉,请看这篇文章: 常见的位运算 1. 判断字符是否唯一 面试题 01.01. 判定字符是否唯一 - 力扣&…

目录

  • 1. 判断字符是否唯一
  • 2. 消失的数字
  • 3. 两整数之和
  • 4. 只出现一次的数字II
  • 5. 消失的两个数字

前情提要:如果对一些常见的二进制位运算不熟悉,请看这篇文章: 常见的位运算

1. 判断字符是否唯一

面试题 01.01. 判定字符是否唯一 - 力扣(LeetCode)

在这里插入图片描述

思路:利用位图的思想,定义一个整数来模拟哈希表,根据每个比特位对应的值来映射字符

在这里插入图片描述

代码实现:

class Solution {public boolean isUnique(String astr) {        int BitMap = 0;int n = astr.length();if(n > 26){return false;}for(int i=0;i<n;i++) {char ch = astr.charAt(i);if(((BitMap>>(ch-'a')) & 1)==1){return false;} else {BitMap |= (1<<(ch-'a'));}}return true;}
}

2. 消失的数字

268. 丢失的数字 - 力扣(LeetCode)

在这里插入图片描述

思路:

在这里插入图片描述

代码实现:

class Solution {public int missingNumber(int[] nums) {// 异或运算int n = nums.length;int ret = 0;for(int i=0;i<=n;i++){ret^=i;}for (int i = 0; i < n; i++) {ret ^= nums[i];}return ret;// int n = nums.length;// //高斯求和// int sum = ((n)*(n+1))/2;// int numsSum = 0;// for(int i=0;i<nums.length;i++) {// numsSum += nums[i];// }// return sum - numsSum;}
}

3. 两整数之和

371. 两整数之和 - 力扣(LeetCode)

在这里插入图片描述

思路:

1、让这两个数a、b无进位相加(异或)所得结果x

2、a和b按位与所得结果carry

3、a=x,b=carry

4、a和b无进位相加(疑惑)

循环上面步骤直到b为0,此时相加结果是a

class Solution {public int getSum(int a, int b) {while(b!=0){int x = a^b;//先计算无进位相加int carry = (a & b)<<1;a = x;b = carry;}return a;}
}

4. 只出现一次的数字II

137. 只出现一次的数字 II - 力扣(LeetCode)

在这里插入图片描述

思路:

在这里插入图片描述

定义一个变量ret,依次计算nums数组中第i位的和sum,接着让sum%3,根据结果对应的值修改ret对应比特位的值

class Solution {public int singleNumber(int[] nums) {int ret = 0;for(int i=0;i<32;i++){//依次修改ret中的每一位int sum = 0;for(int j=0;j<nums.length;j++){sum+= ((nums[j]>>i)&1);//计算第i位的和}sum%=3;if(sum==1){//修改第i位置的值ret |= (1<<i);}}return ret;}
}

5. 消失的两个数字

面试题 17.19. 消失的两个数字 - 力扣(LeetCode)

在这里插入图片描述

思路:

在这里插入图片描述

class Solution {public int[] missingTwo(int[] nums) {int len = nums.length;int N = len + 2;int ret = 0;for (int i = 0; i < nums.length; i++) {ret ^= nums[i];}for (int i = 1; i <= N; i++) {ret ^= i;}// ret为消失的两个数^的结果int lowBit = ret & (-ret);int[] ans = new int[2];ans[0] = 0;ans[1] = 0;for (int i = 1; i <= N; i++) {if ((i & lowBit) != 0) {ans[0] ^= i;} else {ans[1] ^= i;}}for (int i = 0; i < nums.length; i++) {if ((nums[i] & lowBit) != 0) {ans[0] ^= nums[i];} else {ans[1] ^= nums[i];}}return ans;}
}
http://www.hrbkazy.com/news/9884.html

相关文章:

  • 织梦系统做的网站怎么看网站日志徐州百度搜索网站排名
  • 品牌设计论文题目搜索引擎的关键词优化
  • 建设专业网站运营团队seo双标题软件
  • 企业如何做网站推广网站策划是什么
  • 网站建设_seo技术支持长沙seo网络优化
  • 网站销售系统怎么做制作网站的基本步骤
  • h5网站怎么做关键词排名规则
  • 哪个网站可以帮助做数学题郑州seo顾问外包
  • 建设网站e护航下载微信广告投放推广平台
  • word网站链接怎么做网址查询入口
  • 承德市宽城县建设局网站网络营销推广的目的
  • 网站功能建设流程图网站seo需要用到哪些工具
  • 怎么做网站发布合肥做网站哪家好
  • 网站制作洋网络sem是什么意思中文
  • 青岛谁家做网站上海网站建设服务
  • 商洛做网站的公司郑州网络营销公司有哪些
  • 淮安建设局网站谷歌手机版浏览器官网
  • 免费b站推广广州百度提升优化
  • 东莞长安网站制作苏州seo网站公司
  • 网站建设管理维护责任书格式抖音推广渠道有哪些
  • 国外网站空间购买抖音seo排名软件哪个好
  • 在线建站线上营销推广公司
  • 接做网站需要问什么网络客服
  • 雄县做网站廊坊seo整站优化软件
  • 网站建设合作报道网站推广优化排名教程
  • 网站怎么做效果好中国营销网站
  • 关注济南网站建设企业网站系统
  • 家电网站首页制作大连百度网站排名优化
  • 北京 外贸网站搜索指数
  • 盘丝洞app破解无限盘币绍兴seo网站管理