按奇偶排序数组

  • 给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。

  • 返回满足此条件的 任一数组 作为答案。

class Solution {
public:
    vector<int> sortArrayByParity(vector<int>& nums) {
        int n = nums.size();
        vector<int> res(n);
        int left = 0, right = n - 1;
        for (auto & num : nums) {
            if (num % 2 == 0) {
                res[left++] = num;
            } else {
                res[right--] = num;
            }
        }
        return res;
    }
};

这是一个 C++ 中的范围-based for 循环(也称为 foreach 循环),用于遍历容器类(例如数组、向量、列表等)中的元素。

在这个循环中,关键字 “auto” 用于自动推导 “nums” 容器中的元素的类型,而 “&” 则表示使用引用(reference)方式进行访问,以便在循环中对元素进行修改。

具体地说,这段代码中的循环通过引用方式访问 “nums” 容器中的每个元素,并将其绑定到名为 “num” 的变量上,然后可以通过 “num” 变量来访问当前遍历到的元素。由于使用了引用方式访问,因此在循环中对 “num” 进行的修改会直接反映在 “nums” 容器中的对应元素上。

这种循环语法简洁、易读,并且可以避免对容器元素进行拷贝,适用于对容器中的元素进行只读或读写操作的情况。需要注意的是,如果不需要在循环中修改容器元素,可以使用 “const auto & num” 来表示只读访问,以增加代码的安全性和性能。

int Qua(int x){
        return x & 1;
    }

这段代码是一个简单的函数,名为 “Qua”,它接受一个整数参数 “x”。函数体中的表达式 “x & 1” 是按位与运算符,用于对 “x” 的二进制表示与二进制表示的数字 1 进行位运算。

具体而言,这段代码的作用是判断 “x” 的二进制表示中最低位(最右边的位)是否为 1。如果最低位为 1,函数将返回 1,否则返回 0。这是因为在二进制中,最低位为 1 表示奇数,最低位为 0 表示偶数。通过按位与运算符 “&” 和数字 1 进行位运算,可以提取出 “x” 的最低位,并将其作为函数的返回值。

例如,如果调用 “Qua(5)”,函数将返回 1,因为数字 5 的二进制表示是 101,最低位为 1,表示它是一个奇数。而如果调用 “Qua(8)”,函数将返回 0,因为数字 8 的二进制表示是 1000,最低位为 0,表示它是一个偶数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值