代码思路仅供参考,后来又重敲的未经评测
总时间限制:
1000ms
内存限制:
65536kB
描述
给定一个字符串,输出所有长度至少为2的回文子串。
回文子串即从左往右输出和从右往左输出结果是一样的字符串,比如:abba,cccdeedccc都是回文字符串。
输入
一个字符串,由字母或数字组成。长度500以内。
输出
输出所有的回文子串,每个子串一行。
子串长度小的优先输出,若长度相等,则出现位置靠左的优先输出。
样例输入
123321125775165561
样例输出
33
11
77
55
2332
2112
5775
6556
123321
165561
代码:
import java.util.Scanner;
public class Main{
public static void main(String[]args) {
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
char a[]=s.toCharArray();
int length=s.length();//字符串的总长度
int i=0,j=0;
for(int len=2;len<=length;len++) {//枚举子串的长度
int Max_Begin=length-len;
for(int begin=0;begin<=Max_Begin;begin++) {//枚举起点
j=begin+len-1;
for(i=begin;i<=j;i++,j--){
if(a[i]!=a[j]) {
break;
}
}
if(i>=j) {
for(int t=begin;t<=begin+len-1;t++) {
System.out.print(a[t]);
}
System.out.println();
}
}
}
}
}
描述
给定一组字符串,按指定的排序方式输出这些字符串。排序可是自然顺序(inc)、自然逆序(dec)、忽略大小写顺序(ncinc)、忽略大小写逆序(ncdec)等。
输入
输入有多行,第一行为一个表明排序方式的字符串见题面,第二行为字符串的数目。
其余各行每行一个字符串,字符串中间可能空格,前后也可能有空格,但前后的空格要忽略。
输出
输出也有多行,按指定的顺序输出输入的字符串。
样例输入
ncdec 3 Hello World! You're right! haha! you're wrong!
样例输出
You're right! Hello World! haha! you're wrong!
代码:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
public class Main{
public static void main(String[]args) {
Scanner sc=new Scanner(System.in);
String choice=sc.nextLine();
int n=sc.nextInt();
sc.nextLine();
List<String>list=new ArrayList<String>();
for(int i=1;i<=n;i++) {
list.add(sc.nextLine());
}
if(choice.equals("inc")) {
Collections.sort(list);
}else if(choice.equals("dec")){
Collections.sort(list,new sort2());
} else if(choice.equals("ncinc")) {
Collections.sort(list, new sort3());
}else {
Collections.sort(list, new sort4());
}
for(String i:list) {
System.out.println(i);
}
}
static class sort2 implements Comparator<String> {
@Override
public int compare(String arg0, String arg1) {
// TODO 自动生成的方法存根
return -arg0.compareTo(arg1);
}
}
static class sort3 implements Comparator<String>{
@Override
public int compare(String o1, String o2) {
// TODO 自动生成的方法存根
return o1.compareToIgnoreCase(o2);
}
}
static class sort4 implements Comparator<String>{
@Override
public int compare(String o1, String o2) {
// TODO 自动生成的方法存根
return -o1.compareToIgnoreCase(o2);
}
}
}