浙大ACM 2478题目,一道水题,但是一直WA 求解?
importjava.io.BufferedInputStream;importjava.util.ArrayList;importjava.util.Scanner;p...
import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
ArrayList<Character> arrayList = new ArrayList<Character>();
Scanner cin = new Scanner(new BufferedInputStream(System.in));
int len = cin.nextInt();
//num 用于制定字母出现的次数
int num = -1;
for(int t=0; t<len; t++)
{
String str = cin.next();
//flay 用于ArrayList指向下一个元素
int flay = 0;
char[] arr = str.toCharArray();
for(int i=0; i<arr.length; i++)
{
if(arrayList.contains(arr[i]))
{
continue;
}
else
{
arrayList.add(arr[i]);
}
for(int j=i+1; j<arr.length; j++)
{
if(arr[i] == arr[j])
{
num++;
}
}
if(num == 0)
{
System.out.print(arrayList.get(flay++));
num = -1;
}
else
{
System.out.print((num+1) + ""+arrayList.get(flay++));
num = -1;
}
}
System.out.println();
arrayList.clear();
}
}
} 展开
import java.util.ArrayList;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
ArrayList<Character> arrayList = new ArrayList<Character>();
Scanner cin = new Scanner(new BufferedInputStream(System.in));
int len = cin.nextInt();
//num 用于制定字母出现的次数
int num = -1;
for(int t=0; t<len; t++)
{
String str = cin.next();
//flay 用于ArrayList指向下一个元素
int flay = 0;
char[] arr = str.toCharArray();
for(int i=0; i<arr.length; i++)
{
if(arrayList.contains(arr[i]))
{
continue;
}
else
{
arrayList.add(arr[i]);
}
for(int j=i+1; j<arr.length; j++)
{
if(arr[i] == arr[j])
{
num++;
}
}
if(num == 0)
{
System.out.print(arrayList.get(flay++));
num = -1;
}
else
{
System.out.print((num+1) + ""+arrayList.get(flay++));
num = -1;
}
}
System.out.println();
arrayList.clear();
}
}
} 展开
2个回答
展开全部
他只是要找相邻的然后替换,不是不同的全部用数字统计替换
比如ABA 输出还是ABA 你的却是2AB
import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(new BufferedInputStream(System.in));
int len = cin.nextInt();
//num 用于制定字母出现的次数
for(int t=0; t<len; t++)
{
String str = cin.next();
str = str+"#";
int num = 0;
for(int i=0; i<str.length(); i++)
{
if(i==0||(i>0&&str.charAt(i)!=str.charAt(i-1)))
{
if(i>0){
if(num>1)System.out.print(num);
System.out.print(str.charAt(i-1));
}
num = 1;
}
else
{
num ++;
}
}
System.out.println();
}
}
}
比如ABA 输出还是ABA 你的却是2AB
import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(new BufferedInputStream(System.in));
int len = cin.nextInt();
//num 用于制定字母出现的次数
for(int t=0; t<len; t++)
{
String str = cin.next();
str = str+"#";
int num = 0;
for(int i=0; i<str.length(); i++)
{
if(i==0||(i>0&&str.charAt(i)!=str.charAt(i-1)))
{
if(i>0){
if(num>1)System.out.print(num);
System.out.print(str.charAt(i-1));
}
num = 1;
}
else
{
num ++;
}
}
System.out.println();
}
}
}
创远信科
2024-07-24 广告
2024-07-24 广告
作为上海创远仪器技术股份有限公司的团队成员,我们积累了广泛的介电常数数据。这些数据覆盖了从常见物质如空气、水、塑料到专业材料如聚苯乙烯、环乙醇等的介电常数。通过精心整理和分析,我们汇编了介电常数表合集,为客户提供了宝贵的参考信息。这些数据不...
点击进入详情页
本回答由创远信科提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询