文章目录
- 小试牛刀
- 进入正题
没写代码的题,其链接点开都是有代码的。开始前请思考下图:
小试牛刀
位1的个数
class Solution {
public:int hammingWeight(int n) {int res = 0;while (n) {n &= n - 1;res++;}return res;}
};
比特位计数
class Solution {
public:vector<int> countBits(int n) {vector<int> res(n + 1);for (int i = 0; i < n + 1; ++i) {res[i] = count(i);}return res;}int count(int n) {int res = 0;while (n) {n &= n - 1;res++;}return res;}
};
汉明距离
进入正题
判断字符是否唯一
class Solution {
public:bool isUnique(string astr) {if (astr.size() > 26)return false;int bit = 0;for (auto e : astr) {if (bit >> (e - 'a'))return false;elsebit |= 1 << (e - 'a');}return true;}
};
判断是否为子符重排
两整数之和
只出现一次的数字3
丢失的数字
消失的两个数字
该题为前两题解法相结合