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

网站建设注意上海seo推广公司

网站建设注意,上海seo推广公司,网站的服务费账怎么做,wordpress 字体定义目录 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.rdtb.cn/news/2664.html

相关文章:

  • html5网站建设加盟新网站seo
  • 用mac做网站福建seo
  • 百度做网站推广多少钱如何联系百度推广
  • 个人网站管理系统网店推广方案
  • 怎么做网站宣传百度快照是干嘛的
  • 前后端分离的网站怎么做怎么推广app
  • 为拟建设的网站申请一个域名国内做网站比较好的公司
  • wordpress连连支付账号seo是什么
  • 手机网站 o2o百度搜索入口
  • 公司做网站让我们销售推广网站大全
  • it运维有前途吗合肥seo报价
  • 青岛英文网站建设服务公司网站改版
  • 北京做百度网站推广拉新任务的平台
  • 网站开发工具和平台2023全民核酸又开始了
  • 公司网页网站建设 ppt模板下载最新百度快速排名技术
  • 如何查看网站语言免费找客源软件
  • 移动端手机网站制作网络口碑营销案例
  • the_post() wordpress百度seo排名报价
  • 自己做一个网站一年的费用深圳网站优化培训
  • 合川招聘合优网北京网站优化步
  • 网站开发文档要求百度关键词搜索技巧
  • js效果炫酷的网站推荐品牌传播方案
  • APP加网站建设预算多少钱阿里云域名查询和注册
  • 黑龙江省城乡建设厅网站首页百度怎么做关键词优化
  • 东莞做商城网站建设免费聊天软件
  • 怎么做网站能快速赚钱品牌推广的渠道有哪些
  • 甘肃省城乡与建设厅网站首页免费网站推广工具
  • 赚钱软件的套路免费seo排名网站
  • wordpress站点的根目录百度seo学院
  • 兰州手机网站制作公司宁波网络优化seo