![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
位运算
一袍清酒付825
转Tswatery.github.io
展开
-
力扣 每日一题 丢失的数字
文章目录题目思路AC代码后记 题目 丢失的数字 思路 第一个思路是利用数学公式来对于nums做差得出答案; 第二个思路我觉得比较经典就是利用异或运算。因为异或有两个独特的性质: 0与任何数异或都是那个数 任何数与自身异或都是0; 所以我们可以利用这个性质对nums的所有元素求一次异或(相同是0,不同是1),然后再对0-n内的所有数进行一次异或运算,所得到的就是缺失的数 AC代码 代码1 class Solution { public: int missingNumber(vector<int&原创 2021-11-06 08:31:14 · 76 阅读 · 0 评论 -
位运算解决二进制位上不同数字的个数问题
文章目录题目思路AC代码 题目 思路 在oj上遇到的一道题。因为位运算基本不会,所以记录一下。 这题采取异或运算即 ^ 这个运算符号。 它的意思是如果二进制位上的两个数是相同的那么数字是0,如果不同则位1,那么我们可以利用异或运算这个特点来统计结果数的二进制上的1的个数即可。 AC代码 #include <bits/stdc++.h> using namespace std; int main() { int x, y; cin >> x >> y; int r原创 2021-10-29 09:15:32 · 174 阅读 · 0 评论