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

基础位运算

基础知识点:

1.判断2的幂 n&(n-1)==0
2.每次减一处理 n&(n-1)
3.判断出现1次次数的数 x^0==x,x^x==0,a^b=c则a=b^c,b=a^c

力扣练习题:

136.只出现一次的数字

class Solution {
public:int singleNumber(vector<int>& nums) {int result=0;for(int i=0;i<nums.size();i++){result^=nums[i];}return result;}
};

 191.位1的个数

class Solution {
public:int hammingWeight(uint32_t n) {int ret = 0;for (int i = 0; i < 32; i++) {if (n & (1 << i)) {ret++;}}return ret;}
};

或者直接调用函数(return __builtin_popcount(n);) 

 231.2的幂

class Solution {
public:bool isPowerOfTwo(int n) {return (n>0) && (n & (n-1))==0 ;}
};

342.4的幂

class Solution {
public:bool isPowerOfFour(int n) {if(n>0 && (n&(n-1))==0 && n%3==1){return true;}else return false;}
};

476.数字的补数()

class Solution {
public:int findComplement(int num) {//a^b=c a=b^c 已知a和b位相反 所以先求出c=111…………int num1=1;while(num1<num){num1<<=1,num1++;}//找到比num大全为1的数 return num1^num;}
};

 

 

 

http://www.lryc.cn/news/388353.html

相关文章:

  • 性价比高真无线蓝牙耳机有哪些?性价比真无线蓝牙耳机推荐
  • Big Data Tools插件
  • 两个li标签之间有空格这是什么原因
  • 使用Colly库进行高效的网络爬虫开发
  • 【C#】制作图集
  • 行列视报表系统制作的报表与厂级监控信息系统(SIS)系统中的报表有什么区别?
  • 算法08 广/宽度优先搜索及相关问题详解
  • PyTorch 版本与 CUDA 版本的兼容性示例
  • Selenium进行Web自动化滚动
  • 机器学习模型训练过程和预测过程 用孩子来生动的比喻 --九五小庞
  • 【爱上C++】详解string类2:模拟实现、深浅拷贝
  • 狄克斯特拉算法
  • 2024推荐整理几个磁力导航网站可提供海量资源的
  • 链式访问:C语言中的函数调用技巧
  • 数据库设计(实战项目)-1个手机号多用户身份
  • vue+fineReport 使用前端搜索+报表显示数据
  • 高阶面试-存储系统的设计
  • 柔性测斜仪:土木工程与地质监测的得力助手
  • 数字资产和数据资产你真的了解吗?
  • 【每日一练】python运算符
  • CesiumJS【Basic】- #032 绘制虚线(Primitive方式)
  • 海尔智家:科技优秀是一种习惯
  • 【Android】实现图片和视频混合轮播(无限循环、视频自动播放)
  • VLAN基础
  • pytest-yaml-sanmu(五):跳过执行和预期失败
  • linux指令整合(centos系统持续更新中。。。)
  • 个人开发实现AI套壳网站快速搭建(Vue+elementUI+SpringBoot)
  • Cesium与Three相机同步(3)
  • PMP考试报名项目经历怎么填写?指引请收好
  • Git的基本使用方法