题目搜集于各位前辈,侵删。
第一题
import java.util.Scanner;
public class c1301 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int t=0;t<T;t++) {
int biggest = Integer.MIN_VALUE;
int bigger = Integer.MIN_VALUE+1;
int n = sc.nextInt();
for(int i = 0;i<n;i++) {
int a = sc.nextInt();
if(a>bigger) {
if(a>biggest) {
bigger = biggest;
biggest = a;
}else {
bigger = a;
}
}
}
System.out.println(biggest+" "+bigger);
}
sc.close();
}
}
第二题
import java.util.Scanner;
public class c1302 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int t = 0;t<T;t++) {
String s1 = sc.next();
String s2 = sc.next();
String[] ss1 = s1.split(":");
String[] ss2 = s2.split(":");
int h1 = Integer.parseInt(ss1[0]);
int min1 = Integer.parseInt(ss1[1]);
int time1 = h1*60+min1;
int h2 = Integer.parseInt(ss2[0]);
int min2 = Integer.parseInt(ss2[1]);
int time2 = h2*60+min2;
int ans = time2-time1;
if(ans<0) {
ans+=24*60;
}
System.out.println(ans);
}
}
}
第三题
import java.util.Scanner;
//暴力了,不知道有没有其他好办法
public class c1303 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int t=0;t<T;t++) {
String s = sc.next();
int ans = Integer.MAX_VALUE;
for(int i = 'a';i<='z';i++) {
int sum = 0;
for(int j = 0;j<s.length();j++) {
int d1 = s.charAt(j)-i;
if(d1<0) {
d1+=26;
}
int d2 = i-s.charAt(j);
if(d2<0) {
d2+=26;
}
sum+=Math.min(d1, d2);
}
if(sum<ans) {
ans = sum;
}
}
System.out.println(ans);
}
sc.close();
}
}
第四题
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class c1304 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
Dir root = new Dir("root");
for(int t=0;t<T;t++) {
int n = sc.nextInt();//n个操作
for(int i = 0;i<n;i++) {
String s = sc.next();
if(s.equals("CREATEFILE")) {
String filename = sc.next();
String dirname = sc.next();
File f = new File(filename);
Dir d = searchDir(root,dirname);
d.Files.add(f);
}else if(s.equals("CREATEDIR")) {
String dirname1 = sc.next();
String dirname2 = sc.next();
Dir d1 = new Dir(dirname1);
Dir d2 = searchDir(root,dirname2);
d2.dirs.add(d1);
}else if(s.equals("LISTFILE")) {
String dirname = sc.next();
Dir d = searchDir(root,dirname);
for(int j = 0;j<d.Files.size();j++) {
System.out.println(d.Files.get(j).filename);
}
}else {
String dirname = sc.next();
Dir d = searchDir(root,dirname);
for(int j = 0;j<d.dirs.size();j++) {
System.out.println(d.dirs.get(j).dirname);
}
}
}
}
sc.close();
}
static class Dir{
String dirname;
ArrayList<Dir> dirs = new ArrayList<Dir>();
ArrayList<File> Files = new ArrayList<File>();
public Dir(String dirname) {
super();
this.dirname = dirname;
}
}
static class File{
String filename;
public File(String filename) {
super();
this.filename = filename;
}
}
static Dir searchDir(Dir d,String dirname) {
Queue<Dir> q = new LinkedList<Dir>();
q.add(d);
while(!q.isEmpty()) {
Dir temp = q.peek();
q.remove();
if(temp.dirname==dirname) {
return temp;
}else {
for(int i = 0;i<temp.dirs.size();i++) {
q.add(temp.dirs.get(i));
}
}
}
return null;
}
}