5188站长平台,做商城网站哪个好,做那种的视频网站有哪些,泉州做网站的公司需求#xff1a; 题目描述 幼儿园两个班的小朋友在排队时混在了一起#xff0c;每位小朋友都知道自己是否与前面一位小朋友同班#xff0c;请你帮忙把同班的小朋友找出来小朋友的编号是整数#xff0c;与前一位小朋友同班用Y表示#xff0c;不同班用N表示学生序号范围(0 题目描述 幼儿园两个班的小朋友在排队时混在了一起每位小朋友都知道自己是否与前面一位小朋友同班请你帮忙把同班的小朋友找出来小朋友的编号是整数与前一位小朋友同班用Y表示不同班用N表示学生序号范围(0999]如果输入不合法则打印ERROR。 输入描述 输入为空格分开的小朋友编号和是否同班标志 输出描述 输出为两行每一行记录一个班小朋友的编号编号用空格分开且: 1.编号需按照升序排列分班记录中第一个编号小的排在第一行。 2.若只有一个班的小朋友第二行为空行。 输入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 编码
public class TestClass {public static void main(String[] args) {//1/N 2/Y 3/N 4/Y//6/N 2/Y 3/N 4/Y 5/Y 7/N 8/YScanner scanner new Scanner(System.in);System.out.print(输入小朋友的编号);String str scanner.nextLine();
// System.out.println(str);String[] childrens str.split( );
// System.out.println(Arrays.toString(childrens));//创建双端队列对象ArrayDequeString arr_one new ArrayDeque();ArrayDequeString arr_two new ArrayDeque();//调用方法getBranch(childrens, arr_one, arr_two);show(arr_one);show(arr_two);}/*** 显示数据** param arr*/private static void show(ArrayDequeString arr) {//使用Lambda,分割之后再进行排序。System.out.println(arr.stream().map(s - s.split(/)[0]).sorted().collect(Collectors.joining( )).trim());}/*** 分班* param childrens* param arr1* param arr2*/private static void getBranch(String[] childrens, ArrayDequeString arr1, ArrayDequeString arr2) {ArrayDequeString temp null;//循环for (String chs :childrens) {//判断当前对象是否为空if (Objects.isNull(temp)) {temp arr1; //给当前队列赋值} else if (chs.endsWith(N)) { //判断尾端是否为Ntemp temp.equals(arr1) ? (arr2) : (arr1); }//添加到最后temp.offerLast(chs);}}}
效果