首页 > 其他分享 >剑指 Offer 21. 调整数组顺序使奇数位于偶数前面(简单)

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面(简单)

时间:2023-07-26 20:34:56浏览次数:42  
标签:21 奇数 Offer nums 偶数 vector

题目:

class Solution {
public:
    vector<int> exchange(vector<int>& nums) {
        for(int i=0,j=nums.size()-1;i<j;i++){      
            if(nums[i]%2==0){                    //从i前开始,遇到偶数开始处理
                while(nums[j]%2==0&&i<j){        //尾部的数字如果是偶数则j前移直到遇到奇数。要注意有可能都没有奇数,所以要加上&&i<j
                    j--;
                }
                if(nums[j]%2==1){                //尾部找到的奇数与前头的偶数做交换
                    swap(nums[i],nums[j]);
                    j--;
                }
            }
        }
        return nums;
    }
};

标签:21,奇数,Offer,nums,偶数,vector
From: https://www.cnblogs.com/fly-smart/p/17583480.html

相关文章

  • Keil5报错Error: L6218E: Undefined symbol assert_param (referred from misc.o)
    该函数定义在stm32f10x_conf.h里,在C\C++设置一栏中定义USE_STDPERIPH_DRIVER,STM32F10X_HD使宏生效即可解决问题。   ......
  • 题解:【ICPC WF 2021 L】 Where Am I?
    题目链接这年WF较为简单的一道了,直接模拟即可。首先可以预处理出它顺时针螺旋轨迹的移动步数,方便过会算距离直接查表。我偷懒直接用map记录的距离表,这样不用处理复数下标的问题。注意到\(X\)的数量不会超过\(100\)个,所以我们可以反过来从标记点上入手。找出所有的标记点,......
  • HS6621CXC低功耗蓝牙5.1支持nordic2.4G私有协议SOC芯片
    2.4Ghz的soc蓝牙5.1芯片HS6621CC语音遥控/智能门锁M4F内核兼容NORDIC的2.4G私有协议超低功耗性能特点射频收发器-95.5dBm灵敏度@1Mbps93dBm灵敏度@2Mbps98dBm灵敏度@500Kbps-101.5dBm灵敏度@125KbpsTX功率-20~+9dBmCPUARMCortexTM-M4F,最大64MHZ串行线......
  • 替代GSV6201方案 集睿致远芯片CS5466 Type-c转HDMI8K高刷方案 CS5466完美代替RTD2173
    GSV6201基石是国内首款TPYEC转HDMI8K芯片。随着视频采集及显示设备日新月异的发展,用户对于高画质及低延时的观感体验追求越来越高,HDMI2.1传输技术的出现让这一切成为可能;它可以在动态帧率变化、高动态范围(HDR)和更多的音频传输方式比如eARC等方面实现提升,可以JIA一下幺三6玖二二72......
  • 剑指offer--二叉树
    第3题:二叉搜索树的第k个节点描述给定一棵结点数为n的二叉搜索树,请找出其中的第k小的TreeNode结点值。返回第k小的节点值即可不能查找的情况,如二叉树为空,则返回-1,或者k大于n等等,也返回-1保证n个节点的值不一样思路递归中序遍历二叉搜索树:左子树的元素都小于根节点,右......
  • Linux Mint 21.2 “Victoria “现已可供下载
    Linux Mint21.2“Victoria“发行版今天出现在该项目全球稳定镜像上,这意味着开发者将很快发布官方公告,通知想要下载最新LinuxMint版本的用户。LinuxMint21.2从2023年6月21日开始进行公开测试,这给了开发者足够的时间来修复剩余的问题,并为用户提供一个稳定的、坚如磐......
  • Linux Mint 21.2 “Victoria “现已可供下载
    Linux Mint21.2“Victoria“发行版今天出现在该项目全球稳定镜像上,这意味着开发者将很快发布官方公告,通知想要下载最新LinuxMint版本的用户。LinuxMint21.2从2023年6月21日开始进行公开测试,这给了开发者足够的时间来修复剩余的问题,并为用户提供一个稳定的、坚如磐......
  • Linux Mint 21.2 “Victoria “现已可供下载
    Linux Mint21.2“Victoria“发行版今天出现在该项目全球稳定镜像上,这意味着开发者将很快发布官方公告,通知想要下载最新LinuxMint版本的用户。LinuxMint21.2从2023年6月21日开始进行公开测试,这给了开发者足够的时间来修复剩余的问题,并为用户提供一个稳定的、坚如磐......
  • 2167 - 树的公共祖先(LCA)
    题目描述给定一棵树和两个不同的结点,求出他们最近的公共祖先父结点。已知该树有n个结点,标号1..n。输入第1行输入一个整数nn,代表结点数量(n≤100)第2行输入两个整数x,yx,y,表示需要计算的结点;以下n−1行,每行两个整数a和b,表示a的父结点是b。输出输......
  • python下表为偶数的字符串
    如何实现“python下标为偶数的字符串”1.概述在Python中,字符串是不可变的,可以通过下标访问字符串的各个字符。为了实现提取下标为偶数的字符串,我们可以采取以下步骤:输入一个字符串;遍历字符串,提取下标为偶数的字符;将提取的字符拼接成一个新的字符串;输出结果。下表为偶数的......