题目链接:1084 外观数列 (20 point(s))

题目描述

外观数列是指具有以下特点的整数序列:

d, d1, d111, d113, d11231, d112213111, …

它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111。又比如第 4 项是 d113,其描述就是 1 个 d,2 个 1,1 个 3,所以下一项就是 d11231。当然这个定义对 d = 1 也成立。本题要求你推算任意给定数字 d 的外观数列的第 N 项。

输入格式

输入第一行给出 [0,9] 范围内的一个整数 d、以及一个正整数 N(≤ 40),用空格分隔。

输出格式

在一行中给出数字 d 的外观数列的第 N 项。

输入样例

1 8

输出样例

1123123111

Java代码

/**********************************************************************************
Submit Time Status Score Problem Compiler Run Time User
8/1/2019, 13:04:39 Accepted 20 1084 Java (openjdk) 88 ms wowpH
**********************************************************************************/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays; public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] dn = br.readLine().split(" ");
int n = Integer.parseInt(dn[1]); // 需要计算的项数 char[] oldArr = dn[0].toCharArray(); // 上一项
while ((--n) > 0) { // 循环n-1次
char[] newArr = new char[oldArr.length * 2];// 大小最多为2倍
int length = 0; // 当前项的字符个数
newArr[length++] = oldArr[0]; // 至少有1个字符
int number = 1; // 当前字符的连续的个数,至少1个
for (int i = 1; i < oldArr.length; ++i) {
if (oldArr[i] == newArr[length - 1]) {// 第i个字符和当前字符相同
++number; // 当前字符个数加1
} else { // 不同
newArr[length++] = (char) (number + 48);// 将个数添加到新数组中
newArr[length++] = oldArr[i]; // 下一个字符
number = 1; // 初始连续的个数为1
}
}
newArr[length++] = (char) (number + 48);// 最后1个的个数添加到新数组中
oldArr = Arrays.copyOf(newArr, length); // 拷贝新项到oldArr中
}
System.out.println(String.valueOf(oldArr)); // 转成字符串并输出
}
}

提交结果

PAT(B) 1084 外观数列(Java)的更多相关文章

  1. PAT Basic 1084 外观数列 (20 分)

    外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述. ...

  2. PAT 乙级 1084. 外观数列 (20) 【字符串】

    题目链接 https://www.patest.cn/contests/pat-b-practise/1084 思路 用字符串模拟 然后要注意一点 它是连续的 才并在一起 就比如说 d, d1, d1 ...

  3. PAT乙级:1084 外观数列 (20分)

    PAT乙级:1084 外观数列 (20分) 题干 外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d ...

  4. PAT 1084 外观数列(20)(代码+思路+推荐测试用例)

    1084 外观数列(20 分) 外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d 开始,序列的第 ...

  5. PAT 1084 外观数列

    https://pintia.cn/problem-sets/994805260223102976/problems/994805260583813120 外观数列是指具有以下特点的整数序列: d, ...

  6. 1084 外观数列 (20 分)C语言

    外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述. ...

  7. 【PAT】B1084 外观数列(20 分)(纯C)

    第一层循环,用来循环计算第几个元素 第二层用来计算当前元素的下一个 #include<stdio.h> #include<string.h> char aaa[100000] ...

  8. P1084 外观数列

    转跳点:

  9. PAT Basic 1084

    1084 外观数列 外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d 开始,序列的第 n+1 项是 ...

随机推荐

  1. pymongo错误记录

    1.AutoReconnect pymongo.errors.AutoReconnect: connection closed 2.ServerSelectionTimeoutError pymong ...

  2. [C++] typeid关键字使用方法

    typeid 关键字的作用就是获取一个表达式是类型,返回表达式的类型 表达式可以是类型名称.变量名.数字.字符串.指针.结构体等 #include <iostream> using nam ...

  3. Mysql 查看所有线程,被锁的表

    查看所有MySQl相关的线程 show full processlist; 杀死线程id为2的线程 kill 2 查看服务器状态 show status like '%lock%'; 查看服务器配置参 ...

  4. ActiveMQ参数异常 “Invalid broker URI”

    某次启动项目报错,提示ActiveMQ参数异常 该参数的值配置如下 跟踪读取配置的代码如下,可以看到读取我配置的key为xmq.actmq.connection.url.forSend的对应值,赋值到 ...

  5. MQTT 客户端应用及常见问题(C#)

    https://blog.csdn.net/dengyaan/article/details/51752327 最近因为工作需要,需要使用C# 语言编写一个通过MQTT协议 ,上传数据到云端的工具.因 ...

  6. Linux安装Windows字体

    Linux系统使用Windows系统字体的方法 2017年12月26日 09:35:54 知行合一2018 阅读数 1989更多 分类专栏: 杂项   版权声明:本文为博主原创文章,遵循CC 4.0 ...

  7. PHP7 serialize_precision 配置不当导致 json_encode() 浮点小数溢出错误

    https://blog.csdn.net/moliyiran/article/details/81179825 感谢 @地狱星星:原因已找到, 该现象只出现在PHP 7.1+版本上建议使用默认值 s ...

  8. [原][osg][OSGEARTH]OE的关闭打开自动计算裁剪面被OE的海洋ocean影响

    在osgEarthUtil 下 Ocean.cpp 的  traverse函数中: // we don't want the ocean participating in the N/F calcul ...

  9. MySQL创建双主键

    如下: CREATE TABLE `loginlog` ( `id` ) unsigned zerofill NOT NULL AUTO_INCREMENT COMMENT '主键编号', `IP` ...

  10. Qt编写控件属性设计器12-用户属性

    一.前言 用户属性是后面新增加的一个功能,自定义控件如果采用的Q_PROPERTY修饰的属性,会自动识别到属性栏中,这个一般称为控件属性,在组态设计软件中,光有控件本身的控件属性还是不够的,毕竟这些属 ...