C++编程中的一些骚操作(持续更新ing…)

1
2
3
4
5
6
7
8
// 判断相邻两数是否相差1
bool diffOne(vector<int>& row) {
    for (int i = 0; i < row.size(); i += 2)
    // 适用于0-1 2-3 3-4的组合
    // 若需要判断1-2 3-4,则只需把row[i]和row[i+1]分别-1即可
    if ((row[i] ^ 1) == row[i + 1]) return 1;
    return 0;
}
1
2
3
4
5
6
7
8
9
// 计算一个数的二进制形式中有多少个“1”比特位
int totalOnes(int n) {
    int count = 0;
    while (n) {
        n = n & (n - 1);
        count++;
    }
return count;
}
1
2
3
4
// 计算2的n次幂
int exponent_of_2 (int n) {
    return 1 << n;
}


Leave a Reply

Your email address will not be published. Required fields are marked *