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

阿里巴巴电子商务网站深圳南山区住房和建设局网站官网

阿里巴巴电子商务网站,深圳南山区住房和建设局网站官网,ps制作网站产品图片,怎样注册网络平台题目部分 题目分班难度易题目说明幼儿园两个班的小朋友在排队时混在了一起#xff0c;每位小朋友都知道自己是否与前面一位小朋友是否同班#xff0c;请你帮忙把同班的小朋友找出来。 小朋友的编号为整数#xff0c;与前一位小朋友同班用 Y 表示#xff0c;不同班用 N 表示…题目部分 题目分班难度易题目说明幼儿园两个班的小朋友在排队时混在了一起每位小朋友都知道自己是否与前面一位小朋友是否同班请你帮忙把同班的小朋友找出来。 小朋友的编号为整数与前一位小朋友同班用 Y 表示不同班用 N 表示第一位小朋友前面没人用 N 表示。输入描述输入为空格分开的小朋友编号和是否同班标志。 比如6/N 2/Y 3/N 4/Y表示共4位小朋友2和6同班3和2不同班4和3同班。 其中小朋友总数不超过999每个小朋友编号大于0小于等于999。 不考虑输入格式错误问题。输出描述输出为两行每一行记录一个班小朋友的编号编号用空格分开。且 1、编号需要按照大小升序排列分班记录中第一个编号小的排在第一行。 2、若只有一个班的小朋友第二行为空行。 3、若输入不符合要求则直接输出字符串ERROR。补充说明无------------------------------------------------------示例示例1输入1/N 2/Y 3/N 4/Y输出1 2 3 4说明2的同班标记为Y因此和1同班。 3的同班标记为N因此和1、2不同班。 4的同班标记为Y因此和3同班。 所以1、2同班3、4同班输出为 1 2 3 4 解读与分析 题目解读 输入为 1 行字符串每条数据以空格分开。每条数据包含两部分自己的编号 和 自己是否与前面的小朋友是否同班使用 Y 表示同班N 表示不同班。首位小朋友标记为 N。 输出 2 行每行输出一个班的小朋友编号如果全都在一个班第二行为空行每行的数据按照编号从小到大输出两行数据中第一个编号最小的数据放在第一行。 分析与思路 此题需要考虑输入错误的情况所以此题包含步骤验证输入遍历输入数据进行分班对分班数据排序输出数据。具体如下 1. 验证输入。 对输入字符串以空位为分隔符进行分割如果无法分割出数据则输出 ERROR。 逐个遍历分隔后的每条数据对每条数据继续以 / 进行分割如果无法分割出数据则输出 ERROR。对于分割后的数据如果 / 之前的数据不是数字则输出 ERROR如果 / 之后的数据不是 Y 或 N则输出 N。首条数据的 / 之后为 N。 2. 遍历输入数据进行分班。 新建 2 个数组把第一条数据编号放到第一个数组中如果第二条数据的 / 之后是 Y则放到与前一条数据相同的数组否则放到第二个数组。 逐条遍历数据对于每条数据如果 / 是 Y则把这条数据的编号放到与前面一条数据相同的数组中否则放到另外一条数组中。 3. 对分班数据排序。 对数组中的数据从小到大排序。 4. 输出数据。 如果其中一个数组为空则输出其中一个数组另外一个空行。 如果两个数组均不为空则判断两个数组的第一个元素大小先输出第一个元素较小的数组。 因涉及到排序时间复杂度为 O(nlogn)空间复杂度为 O(n)。 代码实现 Java代码 import java.util.Scanner; import java.util.List; import java.util.ArrayList; import java.util.Collections;/*** 篮球比赛* * since 2023.09.15* version 0.1* author Frank**/ public class ClassCheck {public static void main(String[] args) {Scanner sc new Scanner(System.in);while (sc.hasNext()) {String input sc.nextLine();processClassCheck(input);}}private static void processClassCheck(String input) {String[] kidsInfoStr input.split( );if (kidsInfoStr null || kidsInfoStr.length 0) {System.out.println(ERROR);return;}ListInteger[] classInfo new ArrayList[2];classInfo[0] new ArrayListInteger();classInfo[1] new ArrayListInteger();int curClass 1;for (int i 0; i kidsInfoStr.length; i) {String eachRecord kidsInfoStr[i];String[] recordDetail eachRecord.split(/);if (recordDetail null || recordDetail.length ! 2) {System.out.println(ERROR);return;}int num;try {num Integer.parseInt(recordDetail[0]);} catch (NumberFormatException e) {System.out.println(ERROR);return;}if (Y.equals(recordDetail[1])) {classInfo[curClass].add(num);} else if (N.equals(recordDetail[1])) {curClass ^ 1;classInfo[curClass].add(num);} else {System.out.println(ERROR);return;}}Collections.sort(classInfo[0]);Collections.sort(classInfo[1]);if (classInfo[1].size() 0 classInfo[1].get(0) classInfo[0].get(0)) {List tmp classInfo[0];classInfo[0] classInfo[1];classInfo[1] tmp;}for (int i 0; i classInfo.length; i) {if (classInfo[i].size() 0) {// 如果为 0一定是第二个System.out.println();break;}for (int j 0; j classInfo[i].size(); j) {System.out.print(classInfo[i].get(j));if (j ! classInfo[i].size() - 1) {System.out.print( );} else {System.out.println();}}}}}JavaScript代码 const rl require(readline).createInterface({ input: process.stdin }); var iter rl[Symbol.asyncIterator](); const readline async () (await iter.next()).value; void async function() {while (line await readline()) {processClassCheck(line);} }();function processClassCheck(input) {var kidsInfoStr input.split( );if (kidsInfoStr null || kidsInfoStr.length 0) {console.log(ERROR);return;}var classInfo new Array(2);classInfo[0] new Array();classInfo[1] new Array();var curClass 1;for (var i 0; i kidsInfoStr.length; i) {var eachRecord kidsInfoStr[i];var recordDetail eachRecord.split(/);if (recordDetail null || recordDetail.length ! 2) {console.log(ERROR);return;}if (isNaN(recordDetail[0]) ) {console.log(ERROR);return;}var num parseInt(recordDetail[0]);if (Y recordDetail[1]) {classInfo[curClass].push(num);} else if (N recordDetail[1]) {curClass ^ 1;classInfo[curClass].push(num);} else {console.log(ERROR);return;}}var sortFun function(a,b){return a - b;}classInfo[0].sort( sortFun );classInfo[1].sort( sortFun );if (classInfo[1].length 0 classInfo[1][0] classInfo[0][0]) {var tmp classInfo[0];classInfo[0] classInfo[1];classInfo[1] tmp;}for (var i 0; i classInfo.length; i) {if (classInfo[i].length 0) {// 如果为 0一定是第二个console.log();break;}var output ;for (var j 0; j classInfo[i].length; j) {output classInfo[i][j] ;if (j ! classInfo[i].length - 1) {output ;}}console.log( output );} } (完)
http://www.dnsts.com.cn/news/192895.html

相关文章:

  • erp网站建设自己做视频网站收益怎么来
  • wordpress标题图片代码wordpress手机版优化
  • 自己做的网站可以发布吗如何做适合手机访问的网站
  • 可信网站认证 代理商免费傻瓜室内装修设计软件
  • 常州免费网站制作公司网站建设 wordpress
  • 中国建设网站wordpress php推送示例
  • 1688网站如何运营乐陵森林
  • 网站建设进度表下载怎样辨别自己网站的好坏
  • 厦门做网站培训中国包装设计网
  • 网站开发html文件规范如何建设网站视频
  • wordpress+手机站目录wordpress generator
  • 一个网站能多个域名做不同站点景观设计公司有哪些
  • 专业的西安免费做网站合肥外贸网站建设公司
  • 黑龙江牡安建设有限公司网站网站建设管理制度九不准
  • 传奇网站免费空间古镇 网站建设
  • 杂志社网站模板开发公司安全生产管理制度
  • 天津网站建设方案杭州动漫设计公司最新招聘
  • 网站默认地区数据修改软件开发还是网站开发好
  • 网站建设公司费用电脑怎样做幻灯片的网站
  • 经典企业网站北京vi设计方案
  • 胶州市经济技术开发区建设局网站社交新零售
  • 怎么查网站的备案号微信小程序怎么制作游戏
  • 网站服务器排名前十要学好网站开发要会什么
  • 收录快网站用html做的网站步骤
  • 关键词排名优化网站建设公司生鲜农产品网站建设
  • 最专业的网站建设大数据培训心得
  • 公司做网站公司免费签名设计在线生成
  • 重庆祥云平台做网站网站怎么做平台
  • 河北网站建设模板西安做网站找缑阳建
  • 企业公司网站模版电商网站 制作