【华为上机】数数出列

来源:互联网 发布:手机淘宝服务中心在哪 编辑:程序博客网 时间:2024/05/16 00:54

输入字符串长度,字符串,计数m。从前往后计数,当数到m个元素时,m个元素出列,同时将该元素赋值给m,然后从下一个数计数循环,直到所有数字都出列,给定的数全部为大于0的数字。输出出队队列。

  

    例如:  输入:len=4    str="3,1,2,4"   m=7  

             输出:2,3,1,4 

 

import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class 数数出列 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubScanner cin = new Scanner(System.in);String line;int M = 7;while(cin.hasNext()){line = cin.nextLine();String[] strs = line.split(",");List<Integer> nums = new ArrayList<Integer>();List<Integer> out = new ArrayList<Integer>();for(int i=0;i<strs.length;i++){nums.add(Integer.parseInt(strs[i]));}int index = 0;while(nums.size()>0){int m = M%nums.size();while(m>1){index++;if(index==nums.size())index=0;m--;}int del = nums.remove(index);out.add(del);if(index==nums.size())index=0;M = del;}System.out.println(out);}}}


 

 

0 0