求改进啊!大神教教我,题目是HDU4883,百度也有
这是题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4883
下面是我的代码,求给建议!减少运行时间啊!跪求!
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int T=sc.nextInt();int time1,time2,allTime1,allTime2;
String t1,t2;
int Max[]=new int [T];
for(int i=0;i<T;i++){
int n=sc.nextInt();
int []Num=new int [1500];
for(int j=0;j<n;j++){
int num=sc.nextInt();
t1=sc.next();
t2=sc.next();
time1=Integer.parseInt(t1.replace(":", ""));
time2=Integer.parseInt(t2.replace(":", ""));
allTime1=All(time1);
allTime2=All(time2);
Num[allTime1]+=num;
Num[allTime2]-=num;
}
for(int k=1;k<1440;k++){
Num[k]+=Num[k-1];
if(Max[i]<Num[k])
Max[i]=Num[k];
}
}
for(int i=0;i<T;i++){
System.out.println(Max[i]);}
}
public static int All(int time){
int Time=(time/100)*60+time%100;
return Time;
}
}