当前位置: 首页 > news >正文

交 换

题目描述

给你一个长度为n的数组a。您可以执行任意次以下操作:
选择数组中任意两个位置整数i和j(1≤i,j≤n),并且ai+aj是奇数,那么你可以交换ai和aj。
你的任务是求出按字典顺序最小的数组是什么?
提示:按字典顺序最小是指:先比较第一个数,如果第一个数相同,那么接着比较第二个数,如果第二个数相同,那么再比较第三个数,直到比出大小为止。例如:123<132,第二个数可以比出大小,数组123最小。

输入

第一行输入整数n(1≤n≤10^5),表示数组a中的总个数。
第二行输入n个用空格分隔的整数a1,a2,…,an(1≤ai≤10^9),分别表示数组a的每个元素。

输出

输出只有一行,包含n个用一个空格分隔的整数,表示您可获得的按字典顺序最小的数组。

样例输入
【样例1】
3 
4 1 7
【样例2】
2 
1 1
样例输出
【样例1】
1 4 7
【样例2】
1 1
提示

样例1解释:由于1+4=5,所以我们可以交换元素1和4。

代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n;
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n;vector<int>a(n);bool hasodd=false,haseven=false;for(int i=0;i<n;i++){cin>>a[i];if(a[i]%2)hasodd=true;else haseven=true;}if(haseven&&hasodd){sort(a.begin(),a.end());}for(int i=0;i<n;i++){cout<<a[i]<<" ";}return 0;
}

注:1.如果数组内元素全为奇数或全为偶数,那么这个数组内没有两元素可以交换位置。

2.如果数组内既有奇数又有偶数,那么该数组可以通过交换操作获取任意字典序。

3.整数字典序与字符串字典序不同。

http://www.dtcms.com/a/323379.html

相关文章:

  • sigaction 中 sa_handler = SIG_IGN 的深度解析与应用实践
  • day14 - html5
  • 2025年TOP5服装类跟单软件推荐榜单
  • 复杂正则语句(表格数据)解析
  • CentOS7运行AppImage
  • 历史数据分析——首旅酒店
  • 电子电气架构 --- 48V车载供电架构
  • ubuntu修改密码
  • 基于dynamic的Druid 与 HikariCP 连接池集成配置区别
  • 论文阅读 2025-8-3 [FaceXformer, RadGPT , Uni-CoT]
  • 数论——约数之和、快速乘
  • 新手入门:Git 初次配置与 Gitee 仓库操作全指南 —— 从环境搭建到代码推送一步到位
  • 【unitrix数间混合计算】2.9 小数部分特征(t_non_zero_bin_frac.rs)
  • Java基础-完成局域网内沟通软件的开发
  • day 16 stm32 IIC
  • day 35_2025-08-09
  • 202506 电子学会青少年等级考试机器人四级器人理论真题
  • Java -- 日期类-第一代-第二代-第三代日期
  • 05.【数据结构-C语言】栈(先进后出,栈的实现:进栈、出栈、获取栈顶元素,栈实现代码,括号匹配问题)
  • 分布式事务Seata TCC模式篇
  • 【代码篇】关于PartiallyPassword插件_实现文章加密
  • 不同类型模型的样本组织形式
  • 机器翻译:FastText算法详解与Python的完整实现
  • Java-线程线程的创建方式
  • 十九、MySQL-DQL-基本查询
  • 校招秋招春招实习快手在线测评快手测评题库|测评解析和攻略|题库分享
  • 【unitrix数间混合计算】2.10 小数部分特征(bin_frac.rs)
  • 【和春笋一起学C++】(三十三)名称空间的其他特性
  • 小米开源大模型 MiDashengLM-7B:不仅是“听懂”,更能“理解”声音
  • B.10.01.5-电商系统的设计模式应用实战