蓝桥决赛---奇怪的数列

来源:互联网 发布:营销qq加好友软件 编辑:程序博客网 时间:2024/06/04 17:52

public class 奇怪的数列 {

/*13
1113
3113
132113
1113122113
1113122113*/
/**
* 分析我们需要每次读取到一个数,返回下一个数
* 不是直接统计完成填数,而是类统计过程中填数
* 1.把数分解到数组,2.依次读取统计3.判断当前数是否与之前数据是相同的,4不同统计完成
*/
private static int m = 0;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String line = Integer.toString(input.nextInt());
m = input.nextInt();
int n = 0;
while(true){
String str = f(line);
line = str;
n++;
if(n==m){
System.out.println(line);
break;
}
}
}

private static String f(String line) {    char[] subchar = line.toCharArray();    //保存结果集    String ans = "";    //统计变量    int k = 0;    for(int i=0;i<line.length();i++){        char old ;        if(i==0){            old = subchar[i];        }else {            old = subchar[i-1];        }        char now = subchar[i];        if(old!=now){            ans += ""+ k+old;            k = 0;        }        k++;        if(i==line.length()-1){            ans+=""+k+now;        }    }    return ans;}

}

原创粉丝点击