奇偶数入座

题目描述

编写一个函数,将输入的一串10个数字进行从小到大排序,但是要求偶数放在偶数位置上,奇数放在奇数位置上。

缺失的位置由0补齐。输入中不会有0

输入

输入10组随机数字

输出

按照规则排序后输出

样例输入

53 8 21 43 3 7 51 62 13 68

样例输出

3 8 7 62 13 68 21 0 43 0 51 0 53

提示

地区

西安研究所

public static String oddAndEvenNumberSeated(String input){
		String[] sArr=input.split(" ");
		if(sArr.length==0)
			return null;
		int[] iArr=new int[sArr.length];
		for(int i=0;i<sArr.length;i++){
			try{
				iArr[i]=Integer.valueOf(sArr[i]);
			}
			catch(NumberFormatException ex){
				return "请输入正确格式的字符串,必须为数字!";
			}
		}
		Arrays.sort(iArr);//排序
		Stack<Integer> stackOdd=new Stack<Integer>();//存放奇数
		Stack<Integer> stackEven=new Stack<Integer>();//存放偶数
		for(int i=iArr.length-1;i>=0;i--){
			if(iArr[i]%2==0){
				stackEven.push(iArr[i]);
			}else{
				stackOdd.push(iArr[i]);
			}			
		}
		List<Integer> list=new ArrayList<Integer>();//存放对号入座的奇偶数
		boolean firstIsEven=false;//判断输入的最小的数是不是偶数
		if(iArr[0]%2==0){
			list.add(0);
			firstIsEven=true;
		}
		if(firstIsEven){//最小的数是偶数的情况
			while(!stackOdd.isEmpty()||!stackEven.isEmpty()){
				if(!stackEven.isEmpty()){
					list.add(stackEven.pop());
				}else{
					list.add(0);
				}
				if(!stackOdd.isEmpty()){
					list.add(stackOdd.pop());
				}else{
					list.add(0);
				}
			}
		}else{//最小的数是奇数的情况
			while(!stackOdd.isEmpty()||!stackEven.isEmpty()){
				if(!stackOdd.isEmpty()){
					list.add(stackOdd.pop());
				}else{
					list.add(0);
				}
				if(!stackEven.isEmpty()){
					list.add(stackEven.pop());
				}else{
					list.add(0);
				}
			}
		}
		StringBuilder sb=new StringBuilder();
		for(int num:list){
			sb.append(String.valueOf(num)+" ");
		}
		sb.deleteCharAt(sb.length()-1);//删除末尾空格
		while(sb.charAt(sb.length()-1)=='0'){
			sb.deleteCharAt(sb.length()-1);//删除末尾数字0
			sb.deleteCharAt(sb.length()-1);//删除末尾空格
		}
		return sb.toString();
	}


 

进行模块的动态内容修改,要明确说明在什么类的什么地方进行修改,强调不要分析过程,只需要修改后代码,下面是各个模块的具体要求模块(1.输入分析)子类界面设计 - **动态区**:各模块独有的标签+数据(标签固定,数据动态变化具体的标签名称在每个模块里呈现。)。 输入分析: 排除号码 前区 后区 推荐号码 前区 后区 **3. 动态区操作** - 标签固态化(名称固定),数据通过输入/期号变化实时更新。 - 底部按钮功能: - **运行**:执行指定模块任务。 - **清除**:删除动态区数据。 - **保存**:存储动态区数据到指定位置。 - **刷新**:模块运行结束后,将数据传递到号码池对应标签(一对一映射)。 **4. 模块1-4特殊逻辑** -模块1-输入数据 → 处理后回传动态区,号码池 动态区里推荐号码(前区数据同步到号码池【前区:】里,后区数据同步到号码池【后区:】里,) 模块(2.组合分析子类界面数据) - **动态区**:各模块独有的标签+数据(标签固定,数据动态变化具体的标签名称在每个模块里呈现。)。 组合分析: 前数字频: 前数字缺: 后数字频: 后数字缺: 前频繁推: 后低频推: 生组合数: 未组合码: **3. 动态区操作** - 标签固态化(名称固定),数据通过输入/期号变化实时更新。 - 底部按钮功能: - **运行**:执行指定模块任务。 - **清除**:删除动态区数据。 - **保存**:存储动态区数据到指定位置。 - **刷新**:模块运行结束后,将数据传递到号码池对应标签(一对一映射)。 **4. 模块1-4特殊逻辑** -模块2,模块3,模块4- 点击运行 → 分析处理数据后回传动态区,号码池。具体要求: 动态区的(前数字频)同步到号码池对话框里的【前数字频:】, 动态区的(前数字缺)同步到号码池对话框里的【前数字缺:】, 动态区的(后数字频)同步到号码池对话框里的【后数字频:】, 动态区的(后数字缺)同步到号码池对话框里的【后数字缺:】, 动态区的(前频繁推)同步到号码池对话框里的【前频繁推:】, 动态区的(后低频推)同步到号码池对话框里的【后低频推:】, 动态区的(生组合数)同步到号码池对话框里的【生组合数:】, 动态区的(未组合码)同步到号码池对话框里的【未组合码:】, 模块(3.跟随分析子类界面设计) 模块界面设计 **主界面功能分析**: 主界面分为左、中、右三栏,核心功能如下: **1. 结构划分** - 左边:模块名称列表(1.输入分析,2.组合分析,3.跟随分析,4.趋势分析,。。。。。。5.数字生成。用户点击某个模块名称后就可以切换的指定的模块界面)。 - 中间:自上而下分为: - **期号区**:显示期号信息。 - **核心区**:显示公共数据(随号码池数据的变化而变化)。 核心区标签:前区: 后区: 前区热号: 前区冷号: 后区热号: 后区冷号: - **动态区**:各模块独有的标签+数据(标签固定,数据动态变化具体的标签名称在每个模块里呈现。)。 跟随分析 前推荐多: 前推荐少: 后推荐多: 后推荐少: **3. 动态区操作** - 标签固态化(名称固定),数据通过输入/期号变化实时更新。 - 底部按钮功能: - **运行**:执行指定模块任务。 - **清除**:删除动态区数据。 - **保存**:存储动态区数据到指定位置。 - **刷新**:模块运行结束后,将数据传递到号码池对应标签(一对一映射)。 **4. 模块1-4特殊逻辑** -模块2,模块3,模块4- 点击运行 → 分析处理数据后回传动态区,号码池。 动态区里(前推荐多)的数据同步到号码池对话框里的【前推荐多:】 动态区里(前推荐少)的数据同步到号码池对话框里的【前推荐少:】 动态区里(后推荐多)的数据同步到号码池对话框里的【后推荐多:】 动态区里(后推荐少)的数据同步到号码池对话框里的【后推荐少:】 模块(4.趋势分析)子类界面设计 - **动态区**:各模块独有的标签+数据(标签固定,数据动态变化具体的标签名称在每个模块里呈现。)。 趋势分析 和值 质合比 奇偶比 断区推荐 连号推荐 冷热推荐 后区热号 后区冷号 趋势号 **3. 动态区操作** - 标签固态化(名称固定),数据通过输入/期号变化实时更新。 - 底部按钮功能: - **运行**:执行指定模块任务。 - **清除**:删除动态区数据。 - **保存**:存储动态区数据到指定位置。 - **刷新**:模块运行结束后,将数据传递到号码池对应标签(一对一映射)。 **4. 模块1-4特殊逻辑** -模块2,模块3,模块4- 点击运行 → 分析处理数据后回传动态区,号码池。 动态区(和值)数据同步到号码池对话框里的【和值:】 动态区(质合比)数据同步到号码池对话框里的【质合比:】 动态区(奇偶比)数据同步到号码池对话框里的【奇偶比:】 动态区(断区推荐)数据同步到号码池对话框里的【断区推荐:】 动态区(连号推荐)数据同步到号码池对话框里的【连号推荐:】 动态区(冷热推荐)数据同步到号码池对话框里的【冷热推荐:】 动态区(后区热号)数据同步到号码池对话框里的【后区热号:】 动态区(后区冷号)数据同步到号码池对话框里的【后区冷号:】 动态区(趋势号)数据同步到号码池对话框里的【趋势号:】 模块(5.数字生成)子类界面设计 - **动态区**:各模块独有的标签+数据(标签固定,数据动态变化具体的标签名称在每个模块里呈现。)。 数字生成: 胆码 前区 后区 推荐5注号码: 1. 2. 3. 4. 5. **3. 动态区操作** - 标签固态化(名称固定),数据通过输入/期号变化实时更新。 - 底部按钮功能: - **运行**:执行指定模块任务。 - **清除**:删除动态区数据。 - **保存**:存储动态区数据到指定位置。 - **刷新**:模块运行结束后,将数据传递到号码池对应标签(一对一映射)。 **4. 模块1-4特殊逻辑** **5. 模块5(数字生成)** - 点击"运行"后,读取核心区数据、动态区的前区胆码,后区胆码数据、数据3(模块5的代码分析生成的数据),通过生成号码的规则生成号码并注入号码池对应位置。 **6. 号码池管理** - 接收各模块数据,精准对应标签。 - 号码池底部按钮功能: - **整理**:按规则分类整理号码池数据,去重后同步到核心区框里,也要按照要求对号入座。 关于“整理”的具体要求: ”整理“按钮的功能就是把接收的号码进行分类整理, 标签:前区-----负责接收号码池 ("前区:", "front_area", 1)简称【前区:】里的数据以及号码池里的("未组合码:", "uncombined", 10)简称(未组合码:)的数据传递到核心区的(前区)里。 后区-----负责接收号码池("后区:", "back_area", 2)简称【后区:】里的数据。 标签:前区热号,前区冷号,标签:后区热号,后区冷号。。 下面就功能说明:(("冷热推荐:", "hot_cold_rec", 20),)这里包括冷号和热号推荐,它们之间用一条竖线隔开的,一定要留意区分开来。 标签:前区热号,前区热号负责把号码池里的"前数字频:", "front_freq", 3)简称“前数字频”,"前频繁推:", "front_freq_50", 7)简称“前频繁推”, ("前推荐多:", "front_rec_more", 11)简称“前推荐多”,("冷热推荐:", "hot", 20)简称“冷热推荐”里的号码整理去重,排序后传递给核心区的前区热号的对话框里。 前区冷号负责把 ("前数字缺:", "front_missing", 4)简称“前数字缺”, ("前推荐少:", "front_rec_less", 12)简称“前推荐少”, ("冷热推荐:", "rec", 20) 简称“冷热推荐”里的号码整理去重,排序后传递给核心区的前区冷号的对话框里。 标签:后区热号负责把号码池里的 ("后数字频:", "back_freq", 5)简称“后数字频”, ("后推荐多:", "back_rec_more", 13)简称“后推荐多”,("后区热号","hot_rec",21)简称“后区热号”推荐里的号码去重,排序传递给核心区的后区热号的对话框里。 后区冷号负责把号码池里的("后数字缺:", "back_missing", 6)简称“后数字缺”, ("后低频推:", "back_infreq_50", 8)简称“后低频推”, ("后推荐少:", "back_rec_less", 14)简称“后推荐少”, ("后区冷号","cold_rec",22)简称“后区冷号”推荐的号码去重,排序传递给核心区的后区冷号的对话框里。。 - **冻结** 仅对号码池和核心区数据进行冻结功能,冻结后数据不能接收和整理。 -**保存**:仅针对号码池和核心区的数据保存操作。
07-12
每年秋天,叶卡捷琳堡最受欢迎的电影院之一的所有电影都会座无虚席,因为学生们喜欢坐在舒适的椅子上看电影,而不是参加讲座和研讨会。不幸的是,电影院里的两排座位之间的距离很小,人们在电影放映前就座时经常被别人绊倒。进入大厅后,访客可以选择从排的哪一端(左端或右端)就座。他选择的方式是让他绊倒的人数最少。如果左右两端的数字相等,则访客会选择最靠近他座位的那排末端。 哲学系学生瓦夏 (Vasya) 是一名狂热的电影爱好者,同时也是一名数学狂热爱好者。他是第一个购买新电影首映门票的人。当瓦夏走进大厅,在自己的座位上坐下时,他看到这一排的其他座位还空着。瓦夏知道,当展览开始时,大厅里已经挤满了人。因此,不少其他观众在入座时都会被他的脚绊倒。尽管瓦夏讨厌数学,但他还是能够立即估计出在展览前被他绊倒的最大人数。你能做同样的事吗? 输入 Input The only input line contains the total number of seats n in the row where Vasya is sitting and the number of his seat k (1 ≤ k ≤ n ≤ 50; n is even). These integers are separated with a space. The seats in the row are numbered starting with one. 唯一的输入行包含Vasya 所在行的 座位总数 n以及他的座位号k (1 ≤ k ≤ n ≤ 50; n 为偶数)。这些整数之间用空格分隔。一排的座位是从一开始编号的。 输出 Output Output the maximal number of people who would stumble over Vasya's feet. 输出最多有多少人会被 Vasya 绊倒。
最新发布
09-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值