首页 > 编程语言 >【算法】位运算表示奇偶

【算法】位运算表示奇偶

时间:2022-12-20 15:44:06浏览次数:41  
标签:奇偶 运算 nums 奇数 while 偶数 算法

以“剑指offer 21 调整数组顺序使奇数位于偶数前面“为例说一下为位运算判断奇偶的方法。

class Solution {
public:
    vector<int> exchange(vector<int>& nums)
    {
        int i = 0, j = nums.size() - 1;
        while (i < j)
        {
            while(i < j && (nums[i] & 1) == 1) i++;//奇数
            while(i < j && (nums[j] & 1) == 0) j--;//偶数
            swap(nums[i], nums[j]);
        }
        return nums;
    }
};

其实看见这个代码,就很显然这种位运算能表示奇偶了

如果一个数\(a&1==1\)那么这个数为奇数。
如果一个数\(a&1==0\)则为偶数。

标签:奇偶,运算,nums,奇数,while,偶数,算法
From: https://www.cnblogs.com/DXD-blog/p/16994336.html

相关文章

  • 每日算法之最长不含重复字符的子字符串
    JZ48最长不含重复字符的子字符串描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例1输入:"abcabcbb"返回值:3说明:因为无重复......
  • 基础算法(排序 & 查找)
    快速排序、归并排序、整数二分查找、浮点数二分查找快速排序主要思想是分治:确定分界点调整范围递归处理左右两段代码:#include<iostream>usingnamespacestd;......
  • 用Python写一个一次性计算出加减乘除的运算小程序
    0x1前言跟上一个购物车一样的玩法,也都挺简单的,看标题意思就懂了,不做多介绍了0x2加减乘除的运算小程序importre#处理字符串中的符号defsign_exp(strvar):s......
  • Python面试常见算法题集锦(递归部分)
    0x1前言开始学习python基础的时候,有以下几种算法是面试中常见的,也是前期学习python的时候可以连带学习了解的,不卡门槛哟0x2实现算法的方式很多种,而算法的实现也是分程......
  • 基本运算符
    基本运算符运算符Java语言支持如下运算符:算术运算符:+,-,*,/,%,++,--赋值运算符:=关系运算符:>,<,>=,<=,==,!=,instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>(了解!!!)条......
  • 二分法搜索算法
    今天看书时,书上提到二分法虽然道理简单,大家一听就明白但是真正能一次性写出别出错的实现还是比较难的,即使给了你充足的时间,比如1小时。如果你不是特别认真的话,可能还是会出......
  • 基于MATLAB的pso粒子群算法优化——计算样本再拟合函数最大值
    1.算法概述       PSO是粒子群优化算法(——ParticleSwarmOptimization)的英文缩写,是一种基于种群的随机优化技术,由Eberhart和Kennedy于1995年提出。粒子群算法模......
  • 深入理解【缺页中断】及FIFO、LRU、OPT这三种置换算法
    缺页中断(英语:Pagefault,又名硬错误、硬中断、分页错误、寻页缺失、缺页中断、页故障等)指的是当软件试图访问已映射在​​虚拟​​​​地址空间​​​中,但是目前并未被加载在......
  • Python__08--运算符
    1常用运算符1.1算数运算符加(+)、减(-)、乘(*)、除(/)、整除(//)取余(%)测试代码:print(-9//-4)print(9//4)print(9//-4)print(-9//4)#一正一负向下取整......
  • Java实现7种常见密码算法
    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。简介前面在密码学入门一文中讲解了各种常见的密码学概念、算法与运用场景,但没有介绍过代码,因此,为作补充,这......