第三章:查找与排序(下)------------- 3.8题解_调整数组顺序-奇数在左偶数在右

地平线RDKX3初始配置与USB无线网卡 地平线X3无线网卡配置 阅读详情

 调整数组顺序-奇数在左偶数在右:

 

 法一:模式匹配:归并排序:

奇数放左边,偶数放右边。需另外开辟空间。

#include<iostream>
using namespace std;
 
void mergeSortOddEven(int arr[],int low, int high){
	int length=high-low+1;
	int ref[length];
	
	int left=low;
	int right=high;
	int current=low;
	
	//Copy到ref数组 
	for(int i=0;i<length;i++){
		ref[i]=arr[i];
	}
		
	while(current<length){
		if(ref[current]%2==0){
			arr[right--]=ref[current++];
		}
		if((ref[current]%2)!=0){
			arr[left++]=ref[current++];
		}
	} 
} 
 
int main(){
	int arr[]={2,4,6,1,7,2,8,3,7,3,6};
	
	mergeSortOddEven(arr,0,10);
	
	for(int i=0;i<11;i++){
		cout<<arr[i]<<" ";
	}
	
	return 0;
}

结果:

 

 

法二:模式匹配:快速排序:

左右两指针,不满足则交换元素。

#include<iostream>
using namespace std;
 
void quickSortOddEven(int arr[],int low, int high){
	int length=high-low+1;

	int left=low;
	int right=high;
	
	while(left<right){
		while(arr[left]%2==1){
			left++;
		}
		while(arr[right]%2==0){
			right--;
		}
		if(left<right){
			swap(arr[left],arr[right]);
		}
	} 
} 
 
int main(){
	int arr[]={2,4,6,1,7,2,8,3,7,3,6};
	
	quickSortOddEven(arr,0,10);
	
	for(int i=0;i<11;i++){
		cout<<arr[i]<<" ";
	}
	
	return 0;
}

结果:

2024美团秋招硬件开发笔试真题及答案解析 在 Linux 内核的网络设备驱动中,数据链路层的功能通常由网络协议栈的低层(如以太网驱动)实现,而不是作为网络设备驱动的一个独立层次。在 FreeRTOS 中,任务通知(Task Notifications)是一种轻量级的事件传递机制,用于在任务之间或任务与中断之间传递信号。小美正在开发一个简单的密码生成器,其中一个功能是将输入的字符串中的所有字母按字母顺序循环前移一位(即 'a' 变为 'z','B' 变为 'A',以此类推)。它包含了网络设备的各种参数和方法,用于管理网络设备的初始化、配置和操作。 阅读详情

相关推荐

子图同构之乌尔曼算法Ullmann Algorithm的python实现

给定两个图Ga​(子图)和Gb​(原图),其中Ga​有pa​个点和qa​条边,Gb​有pb​个点和qb​条边,其邻接矩阵分别为A和B。子图同构的关键在于找到一种从Ga​的点到Gb​的点的映射MM是一个pa​行pb​列的矩阵,且满足每行只有一个1(表示Ga​中的一个点唯一地映射到Gb​中的一个点),每列至多一个1(确保Gb​中的点不会被重复映射)。定义Ccij​MMBT,若在图Ga​。

weixin_42822813的博客 1974

调整数组顺序_奇数在左偶数在右

利用快排的思想将其左右成两分块,使指针在两端切换 并且要先判断指针是否在指定范围内,再才能判断大小,要不然很容易越界 快速排序 public class Main { public static int a[] = {2,21,2,13,1,13,22,1313,13,2}; public static void main(String[] args) { for(int ...

qq_42794545的博客 378

SCI论文Discussion写作:如何用AI工具三步打造审稿人认可的深度逻辑框架

本文针对SCI论文Discussion写作的痛点,提出利用AI工具三步构建深度逻辑框架的方法。首先,使用Claude等工具搭建个性化提纲,解决“浅显病”与“混乱症”;其次,高效整合文献与结果,填充证据;最后,优化逻辑衔接与学术语言,打造审稿人认可的流畅论证。该方法强调研究者主导,AI辅助,显著提升写作效率与深度。

weixin_28235513的博客 236

混乱无序的整数数组如何实现左侧全是奇数右侧全是偶数(数字不要求排序)

今天同事估计闲得蛋疼,突然开始回忆以前面试过程中被面到过的一些面试问题,有逻辑的,有算法的,然后来考我思路,标题对应的算法就是他碰到的面试算法题之一。 拿到题目的第一个感觉,就是Linq,被Linq带坏了,这种考算法的题目直接来Linq你都逗谁呢,整理一下思路,恩,题目只要求左侧奇数,右侧偶数,并未要求两侧的整数还要分别排序,那算法思路就这么定下来了,按索引从低向高循环,如果遇到偶数,则在循环内

sky 胡萝卜星星 2770

微处理器实验报告-实验四

实验四 可编程定时/计数器8253实验 一、实验要求 利用8086外接8253可编程定时/计数器,可以实现方波的产生。 二、实验目的 1、学习8086与8253的连接方法。 2、学习8253的控制方法。 3、掌握8253定时器/计数器的工作方式和编程原理

青竹小轩的博客 5113

EtherCAT主站教程3--适配伺服驱动器(模式配置)

目前通用的伺服驱动器的位置模式、速度模式以及其他模式是伺服系统中常见的控制模式,切换这些模式通常需要根据具体的伺服驱动器型号和控制协议(如EtherCAT、CANopen、Modbus等)进行配置。以下是这些模式的概述及切换方法的一般性指导:协议规范中,一共有以下几种模式:其中模式1、3、6对于比较常用,也更容易上手。

weixin_52626887的博客 794

重排数组使得数组左边为奇数,右边为偶数

题目:给定一个存放整数的数组,如何重新排列数组使得数组左边为奇数,右边为偶数?要求:空间复杂度为O(1),时间复杂度为O(n)。 分析:采用类似快速排序的处理。可以用两个指针分别指向数组的头和尾,头指针正向遍历数组,找到第一个偶数,尾指针逆序遍历数组,找到第一个奇数,交换两个指针指向的数字,然后两指针沿着相应的方向继续向前移动,重复上述步骤,直到头指针大于等于尾指针为止。具体实现如下:#inclu

小僧Coding 4742

YOLOv9实战:刀具磨损实时监控从摄像头到预测性维护(附车间落地代码)

摘要: 本文针对制造业刀具磨损监控痛点,提出基于YOLOv9的实时视觉检测方案。通过工业相机采集刀具图像,结合图像预处理(去油污、增强对比度)和深度学习模型,实现磨损等级分类与寿命预测。系统集成硬件选型(抗油污相机、红色环形光源)、数据增强(旋转、噪声模拟)及预测性维护(PLC联动),实测刀具利用率提升30%,工件报废率降至0.5%以下。详解车间部署、模型训练到系统落地的全流程,附代码与避坑指南,为工业视觉项目提供实战参考。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 541

java调整数据顺序是奇数位于偶数的前面(思路与实现)

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路一:首先这个算法我刚刚开始想到的办法是我将这个数组有多少个奇数求出来,然后我就知道偶数从数组哪个地方开始放数据,比如int[] array = {1, 2, 5, 4, 6, 8, 7},这个时候奇数有三个,那么偶数...

疯狂的1024 1857

倍福EL6002实现RS232自由口通信,以称重模块RS232数据接收为例

RS-232是美国电子工业联盟制定的串行数据通信接口标准,原始编号全称是EIA-RS-232(简称RS232),它被广泛用于DCE(Data Communication Equipment ) 和 DTE(Data Terminal Equipment) 之间的连接。最早的台式电脑都会保留9针的232接口,用于串口通信,目前基本被USB接口取代。CTS是对请求发送RTS信号的响应,当DCE已经准备好接收数据时,该信号有效(ON),通知DTE可用使用TXD发送数据了。弄完了,再将CTS设置为1,让A发数据。

weixin_41883890的博客 1726

【Unity 实用工具篇】 | Book Page Curl 快速实现翻书效果

游戏和应用开发中,真实感的交互设计能显著提升用户体验。Unity3D图书翻页效果插件为开发者提供了一种便捷方式,可在项目中实现高度拟真的书籍翻页动画。 本文介绍该插件的快速使用方法,涵盖从基础导入到自动翻页效果创建的全过程,让我们快速实现翻页效果。

努力前行,总会成为自己心中的那道光 1万+

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

1. 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 2.解题思路 (1)第一个思路:类似冒泡算法,前偶后奇数就交换,这里要注意考虑尽可能多的情况: public class Reorderarray { public static void main(Stri...

lilong117194的博客 919

嵌入式Linux&Android开发-环境搭建

目录 一、环境要求 二、相关软件&SDK下载 三、环境安装 3.1 VMware Worksation 3.2 Ubuntu1804 3.3 VSCode安装 3.4 Samba服务器搭建 一、环境要求 编译 Android 对机器的配置要求较高: 64 位 CPU 大于12GB 物理内存+交换内存(最好16GB以上) 30GB 空闲的磁盘空间用于构建,源码树另外占用大约 25GB, 如果要编译源码则还需要 150GB 的磁盘空间。 RK官方推荐使用 Ubuntu 16..

嵌入式成长手册 551

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

Nowcoder java-调整数组顺序使奇数位于偶数前面 (题目来自牛客网) 思路 方法一:第一种思路就是,遍历数组,如果是偶数则开始遍历该偶数之后的数字直到找到一个奇数,然后将该偶数 i 和 奇数 j 之间的偶数后移,将 j 位上的奇数放到 i 位置 时间复杂度:O(n^2) 空间复杂度:O(1) 借鉴牛客官方详细的题解: 方法二:第二种思路,新建两个数组,一个用来存放奇数,一个用来存放偶数,最后整合,将偶数数组添加到奇数数组之后。 时间复杂度:O(n) 空间复杂度:O(n) 相对位置不变

weixin_43675940的博客 205

efm32 入门.pdf

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

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

二维数组中的查找

题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 1.暴力解法 题解:挨个遍历数组,如果能找到,返回true,找不到返回false。 暴力大法好0.0 public class Solution { public boolean Find...

weixin_43075206的博客 194

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

《剑指 Offer (第 2 版)》数组部分 JavaScript 题解

《剑指 Offer (第 2 版)》数组部分 JavaScript 题解《剑指 Offer (第 2 版)》数组部分 JavaScript 题解03. 数组中重复的数字04. 二维数组中的查找07. 重建二叉树11. 旋转数组的最小数字12. 矩阵中的路径17. 打印从1到最大的n位数21. 调整数组顺序使奇数位于偶数前面29. 顺时针打印矩阵31. 栈的压入、弹出序列39. 数组中出现次数超过一半的数字40. 最小的k个数42. 连续子数组的最大和47. 礼物的最大价值 《剑指 Offer (第 2 版)

p1967914901的博客 1168

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

剑指Offer 67题 C++题解

从2月底开始找工作,到今天,经历了两个月的时间终于得到了百度的offer。今年除去疫情影响的因素,春招难度确实很大。还要加强 代码能力 和 基础能力 。 剑指Offer 67题题解,C++版。从今天开始我会重新在做一遍,整理出完整的 题解思路 以及 AC代码 。 题解完成情况:0/67。 文章目录1.题目(1) 二维数组中的查找(2) 替换空格2.更新日志 1.题目 (1) 二维数组中的查...

x_mn的博客 1780

剑指offer--斐波那契数列,跳台阶,变态跳台阶,二维数组中的查找,替换空格,用两个栈实现队列,旋转数组的最小数字,调整数组顺序使奇数位于偶数前面,从尾到头打印链表,包含min函数的栈

题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 分析 首先是使用递归的方法,但是使用这种方法会使编译器超时 另一种就是使用循环的方法,每次获取前一次的两个值,进行循环 循环代码 # -*- coding:utf-8 -*- class Solution: def Fibonacci(self, n): ...

Yyl0718的博客 361

刷题找工作系列3

剑指offer系列刷题 第11题起步 位运算常用操作 题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 看一下大神写的代码 public class Solution { public int NumberOf1(int n) { return Integer.toBinaryString(n).replaceAll("0",""...

LYR 的博客 154

数组题汇总(python3)

题目主要来自《剑指offer》和LeetCode,用python3来写的代码。 1、二维数组的查找: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 # -*- coding:utf-8 -*- class Solution: ...

weixin_30402085的博客 319

【Java版本】剑指offer所有面试题(完整版题解3)

文章目录第二十一题-调整数组顺序使奇数位于偶数第二十二题-链表中倒数第k个节点第二十三题-链表中环的入口节点第二十四题-反转链表第二十五题-合并两个链表第二十六题-树的结构第二十七题-二叉树的镜像第二十八题-对称二叉树第二十九题-顺时针打印矩阵第三十题-包含min函数的栈 第二十一题-调整数组顺序使奇数位于偶数 public class Test14 { public static void reorderOddEven(int[] arr){ if(arr == null ||

小七自学博客 984

剑指offer-----数组-----Python

二维数组中的查找题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。想: 先想,不急于做题。这道题让我们干嘛呢?判断输入数值是否在数组中,其实就是一个判断True or False两个for 循环行不行?理论上只要内存足够就可以啊。但是,如果是这样,面试官有必要规定数组 ?那么我...

weixin_38166852的博客 136

C语言二分查找题解:有序数组中找只出现一次的元素——O(log n)时间O(1)空间

摘要:本文介绍了一种在O(logn)时间内查找有序数组中唯一出现一次元素的方法。给定一个非递减排列的数组,其中除一个元素外,其他元素都成对相邻出现。通过二分查找算法,每次将中点调整到偶数位置,比较中点与下一元素的值来缩小搜索范围。测试样例验证了该方法的正确性,如输入[1,1,2,3,3,4,4,8,8]输出2,[3,3,7,7,10,11,11]输出10等。算法满足O(logn)时间复杂度和常数空间的要求。

深耕计算机专业知识与技术。 232

剑指offer题解

剑指offer题解 考点 题目 数组 二维数组中的查找. 字符串 替换空格 链表 从尾到头打印链表 树 重建二叉树 栈和队列 用两个栈实现队列 查找和排序 旋转数组的最小数字 递归和循环 斐波那契数列 递归和循环 跳台阶 递归和循环 变态跳台阶 递归和循环 矩形覆盖 位运算 二进制中1的个数 代码的完整性 数值的整数次方 代码的完整性...

桑凯旋的博客 879

[C语言题解]《算法零基础100讲》(第18讲) 线性枚举(二) - 统计法入门

文章目录一.知识讲解二.课后习题2.1 统计位数为偶数的数字2.2 有序数组中的单一元素2.3 调整数组顺序使奇数位于偶数前面2.4 找到数组的中间位置2.5 寻找数组的中心下标2.6 删除有序数组中的重复项2.7 可被 5 整除的二进制前缀2.8 被K整除的最小整数2.9 哪种连续子字符串更长 一.知识讲解 1.线性遍历:线性遍历就是通过循环,将一个数组的数据按线性的方式依次遍历 例如:将一个数组内的数据全部打印一遍 void line(int* nums, int* numsSize){ for(in

qq_53060585的博客 622

【ONE·C || 与数组有关的一些小练习】

思路汇总,对初学者的我来说值得学习。会慢慢学习和补充。

上士闻道,勤而行之。觉纷扰则静坐,觉懒看书则且看书 ♪(´▽`) 646
上一篇: 第三章 :查找与排序-------3.7分治模式的完美诠释_归并排序
下一篇: 第三章:查找与排序(下)----------- 3.9 最快效率求出乱序数组中第k小的数
Estrellas_
博客等级 码龄9年 273粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值