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

php wordpress教程英语seo

php wordpress教程,英语seo,大连seo皮皮,南海网官网1.常见位运算总结 1.基础位运算 &: 有0就是0。 |&#xff1a;有一就是一 ^:相同为0&#xff0c;相异为1。 2.给定一个数n&#xff0c;确定它的二进制表示中的第x位是 0 还是 1 (n >> x) & 1 3.将一个数n的二进制表示的第x位修改成1 n n | (1 << …

1.常见位运算总结

1.基础位运算

&: 有0就是0。

|:有一就是一

^:相同为0,相异为1。

2.给定一个数n,确定它的二进制表示中的第x位是 0 还是 1 

(n >> x) & 1

3.将一个数n的二进制表示的第x位修改成1

n = n | (1 << x)

4.将一个数n的二进制表示的第x位修改成0

n = n & (~(1 << x))

5.位图的思想

哈希表中里面开32个空间

6.提取一个数(n)二进制表示中最右侧的1

n & (-n) 。将最右侧的1,左边的区域全部变成相反的。

7.去除一个数(n)二进制表示中最右侧的1

n & (n - 1)。

8.位运算的优先级和多,所以建议能加括号就加括号

9.异或运算的运算律

a ^ 0 = a.    a ^ a = 0.    a^b^c = a^(b^c)。

2.判断字符是否唯一

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

思路一:哈希表

思路二:位图+鸽巢原理。

class Solution {
public:bool isUnique(string astr) {if(astr.size() > 26)return false;int bitmap = 0;//位图for(auto e : astr){int i = e - 'a';if(((bitmap >> i) & 1 ) == 1)//插入前如果第i位等于1,那么就存在了不唯一的字符return false;bitmap |= (1 << i);//插入位图,将第i位置为1}return true;}
};

3.丢失的数字

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

解法一:哈希表。

解法二:高斯求和。

解法三:位运算:异或。

class Solution 
{
public:int missingNumber(vector<int>& nums) {int n = nums.size();int ret = 0;for(auto e : nums){ret ^= e;} for(int i = 0; i <= n; i++){ret ^= i;}return ret;}
};

4.两正数之和

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

思路:位运算 : 异或(算出无进位相加)+ & 算出进位的值。

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

5.只出现一次的数字2

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

思路:位运算,因为有三次相同的数字,将每一次出现的数字的当前位加起来%3,就是只出现一次的当前为的值。

class Solution 
{
public:int singleNumber(vector<int>& nums){int ret = 0;for(int i = 0; i < 32; i++){int sum = 0;for(auto e : nums){if(((e >> i) & 1) == 1)sum++;}sum %= 3;ret |= sum << i;}return ret;}
};

6.消失的两个数字

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

这道题相当于 丢失的数字 + 只出现一次的数字3

思路:位运算

1.将所以数异或在一起,(1 ~ N和数组nums)

2.找到tmp中比特位上位1的哪一位

3.根据x位的不同,划分成两类再异或。

class Solution 
{
public:vector<int> missingTwo(vector<int>& nums) {int n = nums.size();int sum = 0;for(auto e : nums){sum ^= e;}for(int i = 1; i <= n + 2; i++){sum ^= i;}int x = 0;for(int i = 0; i < 32; i++){if(((sum >> i) & 1) == 1)x = i;}int type1 = 0,type2 = 0;for(auto e : nums){if(((e >> x) & 1) == 1)type1 ^= e;elsetype2 ^= e;}for(int i = 1; i <= n + 2; i++){if(((i >> x) & 1) == 1)type1 ^= i;elsetype2 ^= i;}return {type1,type2};}
};

http://www.dtcms.com/wzjs/93831.html

相关文章:

  • 微信公众平台推广网站全网热搜关键词排行榜
  • 企业app软件开发公司长春网站优化页面
  • 济南网站建设选聚搜网络莆田关键词优化报价
  • 那个公司做网站好最近时事热点新闻评论及点评
  • 如何建设电子商务网站google推广费用
  • 英文网站源码下载seo基本步骤
  • 佛山微信网站建设长春做网络优化的公司
  • 江苏新宁建设集团网站外贸建站教程
  • 网站建站和项目部署一样吗国内网络推广渠道
  • 黑色午夜绍兴seo优化
  • wordpress 外卖北京seo服务销售
  • 兰州seo技术优化排名公司旺道网站优化
  • 一个做网站的公司年收入网站搭建教程
  • 农村建设网站的重要性一个网站可以优化多少关键词
  • 广州企业网站哪家好广告精准推广平台
  • 中国优秀网页设计哪有培训seo
  • 用php做一网站有哪些东西百度站长工具平台登录
  • 找外包做网站谷歌浏览器入口
  • 蛋糕网站制作答辩2020年百度搜索排名
  • 全球十大设计公司关键词排名优化官网
  • 网站建设应该学什么软件外贸营销网站制作公司
  • 自媒体发稿成都seo技术经理
  • 武汉互联网企业排名站长之家seo工具包
  • 重庆渝北做网站哪里便宜百度云网盘资源搜索引擎
  • 可以做软件的网站谷歌官网网址
  • 聊城网站建设费用广东企业网站seo哪里好
  • 抽奖网站怎么做整合网络营销
  • 自己做的网站慢是什么原因站长工具国色天香
  • 易思网站管理系统收费数据分析培训班
  • 中国建设银行官网站周波怎么建立公司网站