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

2023-11-07

一、问题描述

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

二、算法分析

给定一个数组array

目标:调整数组中元素顺序,使得奇数在前,偶数在后,同时奇数区和偶数区元素相对于原数组顺序不变

例如,array = {1,2,3,4,5,6}

调整后,array' = {1,3,4,2,4,6}

可以采用类似于冒泡法思想求解,如果相邻两个元素是前偶后奇则交换顺序,经过多趟调整,可使整个数组为前奇后偶,又因为冒泡排序具有稳定性,因此调整后的奇数区和偶数区相对原数组顺序不变

三、代码实现

 public void reOrderArray(int [] array) {
		 /**
		  * 算法思路:
		  * 采用冒泡法思想,只要遇到前偶后奇则交换
		  */
		  int temp;
		  for(int i=0;i<array.length; i++){
			  for(int j=0; j<array.length-i-1; j++){
				  if(array[j]%2==0 && array[j+1]%2==1){
					  temp = array[j];
					  array[j] = array[j+1];
					  array[j+1] = temp;
				  }
			  }
		  } 
	  }


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调整数组顺序使奇数位于偶数前面(java) 的相关文章

  • python实现斐波那契数列

    斐波那契数列指的是这样一个数列 0 1 1 2 3 5 8 13 特别指出 第0项是0 第1项是第一个1 从第三项开始 每一项都等于前两项之和 Python 实现斐波那契数列代码如下 实现一 1 def fibonacci 2 num in
  • 算法设计-回溯法——装载问题

    算法介绍 回溯法 回溯法又称试探法 回溯法的基本做法是深度优先搜索 是一种组织得井井有条的 能避免不必要重复搜索的穷举式搜索算法 回溯算法的基本思想 从一条路往前走 能进则进 不能进则退回来 换一条路再试 问题实例 问题描述 题目 用回溯法
  • 斐波那契数列的两种解题思路:递归VS迭代

    一 问题描述 要求输入一个整数n 请你输出斐波那契数列的第n项 二 算法分析 给出一系列斐波拉契数列 0 1 1 3 5 8 13 21 通过观察 很容易发现 1 n 0 1 f n f n 1 f n 2 n gt 1 三 算法设计 递归
  • 4Sum (C++实现)

    Given an array S of n integers are there elements a b c and d in S such that a b c d target Find all unique quadruplets
  • 淘汰赛冠军问题

    问题描述 有n个选手 n为2的K次方 进行比赛 两个选手中胜者参加下一场 负者出局 请求出最后的冠军 比赛的胜负由cmp 函数决定 这里是比较两个字符的大小 分析 本体很快可以想到两种方法 分治法和减治法 分治法 将选手平均分为两组 递归求
  • 图形学数学基础之基本蒙特卡罗尔积分(Monte Carlo Integration)

    作者 i dovelemon 日期 2017 07 29 来源 CSDN 主题 Monte Carlo Integration 引言 好久没有写博客了 最近一直在忙于工作 同时GLB库中关于PBR的渲染算法 一直卡住 无法实现下去 不过在这
  • C/C++程序算法小练习--大整数减法

    大整数减法 include
  • 调整数组顺序使奇数位于偶数前面(java)

    一 问题描述 输入一个整数数组 实现一个函数来调整该数组中数字的顺序 使得所有的奇数位于数组的前半部分 所有的偶数位于位于数组的后半部分 并保证奇数和奇数 偶数和偶数之间的相对位置不变 二 算法分析 给定一个数组array 目标 调整数组中
  • 字符串合并并处理(C++实现)

    按照指定规则对输入的字符串进行处理 详细描述 将输入的两个字符串合并 对合并后的字符串进行排序 要求为 下标为奇数的字符和下标为偶数的字符分别从小到大排序 这里的下标意思是字符在字符串中的位置 对排序后的字符串进行操作 如果字符为 0 9
  • 深度优先查找和广度优先查找

    深度优先查找和广度优先查找 在人工智能和运筹学的领域中求解与图有关的许多应用中 这两个算法被 证明是非常有用的 并且 如需高效地研究图的基本性质 例如图的连通性以及图是否存 在环 这些算法也是必不可少的 深度优先查找 深度优先查找可以从任意
  • JS和Java实现链表类的基本功能

    综合网上实例 参考 http www 2cto com kf 201204 126773 html JavaScript实现参考 http m blog csdn net blog caiwenfeng for 23 8496029 Jav
  • 素数环问题(回溯法)

    素数环是一个计算机程序问题 指的是将从1到n这n个整数围成一个圆环 若其中任意2个相邻的数字相加 结果均为素数 那么这个环就成为素数环 现在要求输入一个n 求n个数围成一圈有多少种素数环 规定第一个数字是1 include
  • 算法——因子和阶乘

    题目描述 输入正整数n 2 lt n lt 100 把阶乘n 1x2x3x xn分解成素因子相乘的形式 从小到大输出各个素数 2 3 5 的指数 你的程序应忽略比最大素因子更大的素数 否则末尾会有无穷对个0 样例输入 5 53 样例输出 5
  • 青蛙跳台阶(java)

    一 问题描述 一只青蛙一次可以跳上1级台阶 也可以跳上2级 求该青蛙跳上一个n级的台阶总共有多少种跳法 二 算法分析 因为青蛙一次只能跳上1级台阶或者两级台阶 所以对于第n级台阶来说 青蛙只能从第n 1级台阶或者第n 2级台阶跳上 设青蛙跳
  • 搜狐畅游2018年9月15日校招真题(2)

    通过该道题目 题目描述 示例代码 include
  • 基于前馈神经网络(SLFN)的极限学习机-遗传算法相结合

    文章目录 一 极限学习机 1 1 概要 1 2 优点 1 3 不足 1 4 改进 二 前馈神经网络结构 2 1 构成 2 2 变量解释 2 3 求解 三 遗传算法 GA 3 1 概要 3 2 遗传算法流程 3 3 执行过程 一 极限学习机
  • 字典序问题

    问题描述 在数据加密和数据压缩中常需要对特殊的字符串进行编码 给定的字母表A 由26 个小写英文字母组成A a b z 该字母表产生的升序字符串是指字符串中字母按照从左到右出现的次序与字母在字母表中出现的次序相同 且每个字符最多出现1 次
  • 新学期阅读计划

    1 再认真阅读 设计模式之禅 在理解的基础上应用设计模式 2 编程之美 共4章 61个有意思的题目 3 图书馆借阅 算法导论 4 再阅读 算法之道 5 了解 操作系统导论 真正理解不要死记硬背 6 反复多次阅读经典的论文 特别是及时和师姐多
  • P2PSim中重要函数的说明

    环境 RedHat9上安装的P2Psim0 3 目的 在P2Psim使用Vivaldi协议仿真 现状 主程序代码中关于vivaldi协议的部分注释掉了 思路 从主函数分析代码 找到原因 vivaldi协议主函数是vivalditest C
  • 手把手教你实现一个向量

    文章目录 什么是向量 向量提供哪些接口 实现 宏定义 定义类 成员变量 构造函数与析构函数 构造函数 析构函数 成员函数 size get r put r e expand insert r e remove lo hi remove r

随机推荐

  • jetty文件服务器,在Jetty中访问Web容器外部的文件

    我在Windows XP SP3中使用Eclipse 3 6开发GWT应用程序 该应用程序需要显示驻留在服务器上的图形文件夹的内容到客户端 此外 图形文件夹不在Web容器内 而在硬盘中的另一个位置 Eclispe使用Jetty HTTP服务
  • Vue3事件总线——从eventBus到mitt

    目录 前言 一 mitt介绍及使用 1 安装 2 创建bus ts 3 使用 4 案例 二 mitt优势及注意事项 1 优势 2 注意事项 前言 在 Vue 3 中 默认情况下是没有内置的 EventBus 也就是说 Vue 3 没有像 V
  • windows7在无法访问Internet的情况下,修改公共网络为家庭网络(或工作网络)

    打开网络共享中心 可以看到此时无法连接Internet 打开计算机 点击网络 单击更改 启用网络发现和文件共享 选择 否 使已连接的网络成为专用网络 重新打开网络和共享中心 一定要关闭后重新打开 可以看到原本的公共网络已经变成了工作网络 注
  • 自动驾驶的算力(TOPS)谎言

    原文链接 当前 自动驾驶运算系统正在进入一场算力的竞赛中 特斯拉刚以自研的达到72TOPS算力 业内最强的FSD HW3 0升级HW2 5不久 英伟达最新推出的芯片系统达到了2000TOPS的惊人算力 然而 自动驾驶首要确保的安全性和算力并
  • ffmpeg使用NVIDIA Jeston Xavier NX 硬编码

    一 需求 NX的板子外接相机 使用opencv从共享内存中取图 转化成Mat 之后利用ffmpeg进行h264编码 然后推送到rtmp服务器 开始使用cpu软编码 占用cpu在150 左右 先改用GPU的 NVENC芯片进行硬编码 cpu占
  • 请体验一下falcon 180b 大语言模型的感觉

    引言 由Technology Innovation Institute T四训练的开源大模型Falcon 180B登陆Hugging Face Falcon180B为开源大模型树立了全新的标杆 作为当前最大的开源大模型 有l80B参数并且是
  • set()函数 c++用法

    SET 是一种包含已排序对象的关联容器 set集合容器实现了红黑树 Red Black Tree 的平衡二叉检索树的数据结构 在插入元素时 它会自动调整二叉树的排列 把元素放到适当的位置 它不会插入相同键值的元素 而采取忽略处理 平衡二叉树
  • SIM卡工作原理

    1 如何检测卡的插入 参考文献 1 https blog csdn net LUOHUATINGYUSHENG article details 96473340 2 如何判断SIM卡的工作电压 包括1 8V 3V 5V 判断逻辑 模块先给s
  • Linux安装nginx/tenginx

    tenginx为例 Tengine2 3 3点击下载 先安装依赖库 Ubuntu为例 PCRE库支持正则表达式 sudo apt get install libpcre3 libpcre3 dev zlib库用于对HTTP包的内容做gzip
  • 1.basic_something

    1 基础必须 4个 op session graph run 矩阵乘法 tf matmul import tensorflow as tf m1 tf constant 3 3 定义1行2列的矩阵常量op 1 op m2 tf consta
  • UE4_c++ 设置Actor BeginPlay的顺序

    在项目开发中 涉及到数据初始化 一个类可能需要依赖另一个类的初始化 因此在某些时候 需要把一个类的初始化的优先级提高 针对不同Actor的BeginPlay在运行时的执行顺序 有兴趣的可以自行去测试 意义不大 下面提供一种方法 使一个Act
  • Python图像锐化及边缘检测(Roberts、Prewitt、Sobel、Lapllacian、Canny、LOG)

    目录 图像锐化概述 算法方法介绍 代码实现 效果展示 图像锐化概述 图像锐化 image sharpening 是补偿图像的轮廓 增强图像的边缘及灰度跳变的部分 使图像变得清晰 分为空间域处理和频域处理两类 图像锐化是为了突出图像上地物的边
  • 睿智的目标检测51——Tensorflow2搭建yolo3目标检测平台

    睿智的目标检测51 Tensorflow2搭建yolo3目标检测平台 学习前言 源码下载 YoloV3实现思路 一 整体结构解析 二 网络结构解析 1 主干网络Darknet53介绍 2 构建FPN特征金字塔进行加强特征提取 3 利用Yol
  • java try的用法_Java中try、catch的使用方法

    Java中有两种处理异常的方式 分别是用throws抛出异常 用try catch捕获异常 try catch 在Java try catch语句的语法格式 try 代码块 catch Exception1 e 抛出异常后所要进行的操作 当
  • ElasticSearch最佳入门实践(五十八)搜索相关参数梳理以及bouncing results问题解决方案

    1 preference 决定了哪些shard会被用来执行搜索操作 primary primary first local only node xyz prefer node xyz shards 2 3 bouncing results问
  • 如何在SQL查询中文列

    背景介绍 需求背景 第三方提供视图 查询该视图信息 列名采取中文形式 例如 视图名V Test 姓名 性别 工作年限 年 张三 男 4 李四 女 1 复现步骤 Navicat配置Sql Server 因为未接触过中文列名 所以简单查了下 可
  • 如何向icloud上传文件_怎么把文件放进苹果icloud

    展开全部 将文件放入苹果62616964757a686964616fe58685e5aeb931333365653932iCloud的方法很多 介绍以下三种方法供参考 方法一 手机 通过苹果手机直接存储到iCloud 1 在苹果应用商店 A
  • kali 远程登陆提示 拒绝访问(access denied)

    1 今天配置kali远程登陆 配置好后登陆发现输入密码对的 但是还是拒绝访问 access denied 2 后来发现是配置在 etc ssh sshd config 时候 配错了 把 PermitRootLogin without pas
  • ⛳ Class.forName()方法

    目录 Class forName 方法 特点 举例 Class forName 方法 Class forName 是Java中的一个反射方法 用于根据类的完整限定名 fully qualified name 加载类并返回对应的Class对象
  • 调整数组顺序使奇数位于偶数前面(java)

    一 问题描述 输入一个整数数组 实现一个函数来调整该数组中数字的顺序 使得所有的奇数位于数组的前半部分 所有的偶数位于位于数组的后半部分 并保证奇数和奇数 偶数和偶数之间的相对位置不变 二 算法分析 给定一个数组array 目标 调整数组中