调整数组顺序使奇数位于偶数前面(三种解法)

调整数组使奇数全部都位于偶数前面 调整数组使奇数全部都位于偶数前面。 题目: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。 ———————————————————————————————————— 对题目的解析: 要将所有的奇数挪到偶数的前面,就需要定义两个指针,一个left指针指向数组的开始,一个right指针指向数组的最后一个数字,当left指... 阅读详情

题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

1.利用两层循环(类似于冒泡排序)

class Solution {
public:
    void reOrderArray(vector<int> &array)
    {
        
        if(0==array.size()||1==array.size())
        return ;
        for(int i = 0;i<array.size();i++)
        {
            for(int j= 0;j<array.size()-1-i;j++)
            {
                if(array[j]%2 == 0 && array[j+1]%2 == 1)
                    swap(array[j],array[j+1]);
            }
        }
     }   
};

(2)使用迭代器

class Solution {
public:
    void reOrderArray(vector<int> &array)
    {
        vector<int> ::iterator it = array.begin();
        for(int i = 0;i<array.size();i++)
        {
            if(*it %2 == 0)
            {
                int temp = *it;
                array.erase(it);
                array.push_back(temp);
            }
            else
                it++;
        }
   }
};

(3)创建一个新数组

class Solution {
public:
    void reOrderArray(vector<int> &array)
    {
        vector<int> res;
        for(int i = 0;i<array.size();i++)
        {
            if(array[i]%2 ==1)
            {
              res.push_back(array[i]);
            }
        }
         for(int i = 0;i<array.size();i++)
        {
            if(array[i]%2 ==0)
            {
              res.push_back(array[i]);
            }
        }
        array =res;   
    }
};
分享一些基于微信小程序开发的小游戏源码 小游戏小程序是运行在微信生态系统(或其他支持小程序的平台)中的轻量级应用程序,专为休闲游戏体验而设计的小程序子类别,小游戏小程序通常体积较小,加载速度快,用户无需等待长时间即可开始游戏。用户无需下载或安装单独的游戏应用程序,即可通过小程序入口直接进入游戏,同时小游戏小程序通常包含排行榜、分享功能等社交元素,可以增强游戏体验并促进用户参与。game.js:游戏页面的逻辑文件,包含页面数据、生命周期函数、事件处理函数等。game.wxml:游戏页面的结构文件,定义了页面的布局和组件。 阅读详情

相关推荐

TIFF文件渲染避坑指南:Three.js与Cesium的5个关键差异点

本文深入对比了Three.js与Cesium在渲染TIFF文件时的5个核心差异点,包括坐标系处理、内存管理、着色器系统、性能优化策略和错误处理机制。重点解析了Cesium的全球WGS84坐标系与Three.js局部坐标系对地理空间数据渲染的根本影响,并提供了针对性的性能优化与调试方案,帮助开发者根据项目需求选择合适的3D引擎并有效避坑。

weixin_29243279的博客 334

【算法入门03】调整数组顺序使奇数位于偶数前面

核心考点:数组操作,排序思想的扩展使用 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。例如将数组{1, 2, 3, 4, 5, 6}调整为{1, 3, 5, 2, 4, 6}。 解析一:(若相对位置可变) 若是题目当中没有要求数组调整后奇数和奇数,偶数和偶数的相对位置不变,那么我们可以使用两个变量(left和right)来遍历数组,left从左往右寻找偶数,right从右往左寻找奇数,之

2021dragon的博客 1848

Centos7.9上安装glibc2.28遇到/usr/bin/ld: cannot find -lnss_test2问题

Centos7.9安装glic2.28遇到-lnss_test2问题及解决方案。

freflying1119的博客 2898

调整数组顺序使奇数位于偶数前面

调整数组顺序使奇数位于偶数前面(点击链接进入题目) 描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题目分析:针对本题,我们有不同的方法来解决,本题中保证奇数和偶数之间的相对位置不变是一个难点,读者们可以分别考虑两种情况:a-相对位置变化;b-相对位置不变。 法一:我们很容易想到的一个方法就是对数组进行遍历,此时借助一个辅助数组newarray,遍历第一遍数组找出奇数,挨个尾插

小东的博客 1215

保姆级教程:用CANoe的LIN Slave Conformance Tester搞定一致性测试(附LDF配置避坑点)

本文详细介绍了如何使用CANoe的LIN Slave Conformance Tester进行汽车电子LIN从节点一致性测试,包括测试环境搭建、LDF文件配置、多通道测试技巧及常见问题解决方案。通过实战案例和高级配置技巧,帮助工程师高效完成测试任务,确保LIN总线通信的可靠性。

weixin_30385925的博客 527

新手3dslicer手动肝脏切割及体积测量(详细图文)

刚接手软件的时候,我一直想用自动分割工具,试验了Med sam,依赖安装不了;试验了英伟达的AI,NvidiaAIAssis,传服务器根本没反应,所有只有用了手动切割。不要求所有层面勾画,但是最好是典型层面都勾画一下,特别是有毗邻脏器密度相近的层面。点击3D后可能三维窗口未显示,可以调整一下窗口大小,有可能显示在我们看见的范围之外。早就准备更新这篇了,由于懒癌发作,一直早葛优躺,今天刚好有点时间,就简单写下来。

linjianping513的博客 5930

C语言:调整数组使奇数全部都位于偶数前面

使用C语言:调整数组使奇数全部都位于偶数前面。包含题目、分步骤思路、最终实现代码 和 最终实现效果。

正在努力学C呀!(要学好久呢......) 1778

LTE信令流程及业务流程

eNB返回E-RAB建立响应消息,E-RAB建立列表信息中包含成功建立的承载信息,E-RAB建立失败列表消息中包含没有成功建立的承载消息。3)当下行数据达到时,网络侧先对UE进行寻呼,随后UE发起随机接入过程,并发起service request过程。用户面:S-GW向eNB发送承载建立请求,包含(IMSI, QoS, TFT, TEID, LBI等)控制面:MME向eNB发送E-RAB建立请求,包含E-RAB ID,QoS,S-GW TEID。3)在S1接口上建立S1承载,在Uu接口上建立数据无线承载。

qq_44390640的博客 4583

算法的学习笔记—调整数组顺序使奇数位于偶数前面(牛客JZ21)

这两种方法各有优缺点。如果需要快速调整且不在意空间开销,可以选择方法一,它在O(n)的时间内完成排序。而如果对空间复杂度要求更高,可以选择方法二,它在原数组上操作,但需要O(n^2)的时间。在实际应用中,可以根据具体需求选择合适的方法。如果数组较小且对空间要求严格,方法二可能更合适;如果数组较大且需要更快的处理速度,方法一是更优的选择。通过这两种方法,我们可以有效地调整数组中的奇偶顺序,满足特定的排序需求。这种调整方式在数据处理、算法设计中有着广泛的应用,掌握这些技巧可以为解决复杂问题提供思路和方法。

业精于勤,荒于嬉 1438

【RF】Receiver Function接收函数:从理论到实践的深度解析

本文深入解析地震学中的接收函数(Receiver Function, RF)技术,从理论原理到实践操作。文章将RF比作地球的“听诊器”,详细阐述了其通过反褶积剥离震源影响、揭示地下结构(如莫霍面)的核心机制,并提供了使用Python和rf库进行数据处理、计算、动校正与叠加的完整实战流程,同时探讨了其应用、局限性与常见问题的解决方案。

Jerry的专栏 121

深度学习论文: AnomalyDINO: Boosting Patch-based Few-shot Anomaly Detection with DINOv2

通过将DINOv2模型适应到一次性和少量异常检测中,并专注于工业应用少量异常检测。实验表明,这种方法不仅与现有技术相匹敌,甚至可以在许多设置中超越它们。我们提出的仅视觉方法AnomalyDINO基于补丁相似性,能够实现图像级别的异常预测和像素级别的异常分割。该方法在方法论上很简单,无需训练,因此不需要任何额外的数据进行微调或元学习。

mingo_敏 1904

剑指offer 013、调整数组顺序使奇数位于偶数前面

剑指offer 013、调整数组顺序使奇数位于偶数前面 题目 题解 暴力解法:开辟两个新数组 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型vector * @return int整型vector */ vector<int> reOrderArray(vector<int

ClimberCoding 224

干货|C#上位机与西门子PLC的Profinet协议通信开发(工控机版)

文章摘要: Profinet是西门子主导的工业以太网协议,支持实时通信(RT/IRT),广泛应用于PLC与工控机通信。本文聚焦C#上位机通过S7协议(集成于Profinet接口)高效访问西门子PLC(S7-1200/1500等),提供完整开发方案: 协议基础:解析Profinet三层架构(TCP/IP层、实时层、应用层),对比S7协议优势(开发便捷、跨平台); 开发实践:基于S7NetPlus/Snap7库实现数据读写,涵盖DB块、I/O点等地址规则; 环境配置:工控机(Windows/Linux/统信UO

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1214

剑指Offer :调整数组顺序使奇数位于偶数前面

文章目录1.题目2.解法探析2.1 解法 12.2 解法 22.3 解法 3 1.题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 2.解法探析 2.1 解法 1 若在不考虑时间复杂度的情况下,可以从头扫描这个数组,每碰到一个偶数,取出该数字,并把该数字后面的所有数字往前移一位。移完之后在数组的末尾有一个空位,再把该偶数放入...

Codeapes 332

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【剑指offer】调整数组顺序使奇数位于偶数前面

剑指offer题解:调整数组顺序使奇数位于偶数前面

weixin_63449996的博客 1129

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

九度笔记之 调整数组顺序使奇数位于偶数前面

题目 题目1516:调整数组顺序使奇数位于偶数前面 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:13 解决:6 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 输入

KingEasternSun的专栏 1537

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

调整数组顺序使得奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分。 代码: /* 调整数组顺序使得奇数位于偶数前面 by Rowandjj 2014/8/1 */ #include #include using namespace std; //高效解法,但会调整后的数组元素相对顺序会发生改变 void func(int *

RowandJJ 1264

《剑指Offer》13. 调整数组顺序使奇数位于偶数前面

题目:13. 调整数组顺序使奇数位于偶数前面 知识点:数组 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路: 解法一:这是我自己写出的解法,是针对于这道题目来说,因为我也想到了解法二的这种双指针的解法,但是很快就被排除掉了,因为这道题的要求中有一...

Coder Yang 452

剑指offer-调整数组顺序使奇数位于偶数前面——Java解法

题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解法一 思路简介:要求数组中奇数在偶数前边,并且相对顺序不变,可能大家想到的是排序的稳定性,当然也有用插入排序解题的,但是咱们这里不用插入排序。使用两个list来分别存放数组中的奇数和偶数(list动态扩容,无需声明长度)...

qq_39857987的博客 432

调整数组顺序使奇数位于偶数前面——js

调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路 遍历数组,判断数组的每个元素是奇数还是偶数,分别存在两个不同的数组里,遍历完成后连接两个数组。 代码 function reOrderArray(array) { // write c...

qq_40608516的博客 566

调整数组顺序,使奇数位于偶数前面

题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路: 如果可以使用辅助数组,问题就变的简单很多,可以遍历两次分别将奇数偶数添加至数组中 如果不能开辟额外空间,那可以在遍历数组的过程中,用一个A指针记录当前有几个奇数,另一个B指针往后遍历,将此奇数后的第一个奇数插入到已有奇数的后面,同时A、B两个指针间的所有元素往后移一位 代码 public class Solution

Joy 的博客 485

牛客_调整数组顺序使奇数位于偶数前面

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路: 在要保证变换之后的奇数和偶数的相对位置不变, 想法就是使用i找到第一个奇数的位置, 使用j从i+1开始往后找到第一个奇数 然后将[i,....,j-1]的位置都向右移动一位,再将j位置找出来的奇数移动...

zhangvalue的博客 448

调整数组顺序使奇数位于偶数前面[Java]

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路1 创建两个ArrayList列表分别按顺序存储奇数和偶数,再遍历原数组,将两个数组列表中的元素放入原数组,先放奇数数组列表,再放偶数,并且能够保证奇数和偶数原先的相对顺序。 public void reOrde...

weixin_44058932的博客 269
上一篇: 组队竞赛:牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。
下一篇: 字符串转整数
dreamispossible
博客等级 码龄9年 265粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值