目录
面试题 01.01. 判断字符是否唯一
一、题目描述
二、思路解析
三、代码
268.丢失的数字
一、题目描述
二、思路解析
三、代码
371.两整数之和
一、题目描述
二、思路解析
三、代码
137.只出现一次的数字 II
一、题目描述
二、思路解析
三、代码
面试题 01.01. 判断字符是否唯一
一、题目描述
OJ题目链接:力扣(LeetCode)
二、思路解析
三、代码
class Solution {
public:bool isUnique(string astr) {if (astr.size() > 26) return false;int Bit_Map = 0;for (auto e : astr){int i = e - 'a';if ((Bit_Map >> i) & 1 == 1) return false;//表示该比特位为1Bit_Map = Bit_Map | (1 << i);}return true;}
};
268.丢失的数字
一、题目描述
OJ题目:链接力扣(LeetCode)
二、思路解析
三、代码
//解法一
class Solution {
public:int missingNumber(vector<int>& nums) {int max = nums.size();int sum1 = 0;for (auto e : nums){sum1 += e;}int sum2 = 0;for (int i = 0; i <= max; i++)sum2 += i;return sum2 - sum1;}
};
//解法二
class Solution {
public:int missingNumber(vector<int>& nums) {int n = nums.size();int ans = 0;for (auto e : nums) ans ^= e;for (int i = 0; i <= n; i++) ans ^= i;return ans;}
};
371.两整数之和
一、题目描述
OJ题目链接:力扣(LeetCode)
二、思路解析
三、代码
class Solution {
public:int getSum(int a, int b) {while (b != 0){int tmp = a ^ b;b = (a & b) << 1;a = tmp;}return a;}
};
137.只出现一次的数字 II
一、题目描述
OJ题目链接:力扣(LeetCode)
二、思路解析
三、代码
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 ++;}if (sum % 3 == 1) ret |= 1 << i;}return ret;}
};