为什么内存超限了,求高手解答(附代码)
PAT上的一道题目,链接:https://www.patest.cn/contests/pat-b-practise/1084
代码如下,最后一个测试点过不去,说是内存超限
import java.util.Scanner;
public class Main{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int d;
int n;
d = in.nextInt();
n = in.nextInt();
String s = "" + d;
n = n - 1;
while(n>0){
s = change(s);
n--;
}
System.out.println(s);
in.close();
}
public static String change(String s){
String temp = "";
char ch;
int count;
int i=0;
while(i<s.length()){
ch = s.charAt(i++);
count = 1;
while(i<s.length()&&ch==s.charAt(i)){
count++;
i++;
}
temp += "" + ch + count;
}
return temp;
}
}求解答,万分感谢!
代码如下,最后一个测试点过不去,说是内存超限
import java.util.Scanner;
public class Main{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int d;
int n;
d = in.nextInt();
n = in.nextInt();
String s = "" + d;
n = n - 1;
while(n>0){
s = change(s);
n--;
}
System.out.println(s);
in.close();
}
public static String change(String s){
String temp = "";
char ch;
int count;
int i=0;
while(i<s.length()){
ch = s.charAt(i++);
count = 1;
while(i<s.length()&&ch==s.charAt(i)){
count++;
i++;
}
temp += "" + ch + count;
}
return temp;
}
}求解答,万分感谢!
...全文


Java SE
