Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:java改了好多次,终于不超时了In Reply To:java改了好多次,终于不超时了 Posted by:fighting_family at 2015-03-30 02:34:17 我也用的JAVA ,还是超时。。。我都无语了。。。自己写排序,统计。。。各种都超时。。现在用的是treeset还是超时。。。 看看代码,怎么改啊,,,木有方向了 public static void main(String[] args) { long a=System.currentTimeMillis(); Scanner input = new Scanner(System.in); ArrayList<String> dlist = new ArrayList<String>(); TreeSet<String> dlist1 =new TreeSet<String>() ; ArrayList<Integer> clist = new ArrayList<Integer>(); TreeSet<Integer> clist1 = new TreeSet<Integer>(); String number; int count= 0; count = input.nextInt(); for(int i=0;i<=count;i++){ number =input.nextLine(); number=number.replace("-",""); number=number.replace("Q",""); number=number.replace("Z",""); number = number.replaceAll("[A-C]", "2"); number = number.replaceAll("[D-F]", "3"); number = number.replaceAll("[G-I]", "4"); number = number.replaceAll("[J-L]", "5"); number = number.replaceAll("[M-O]", "6"); number = number.replaceAll("[P]|[R-S]", "7"); number = number.replaceAll("[T-V]", "8"); number = number.replaceAll("[W-Y]", "9"); dlist.add(number); dlist1.add(number); } long b=System.currentTimeMillis(); Iterator<String> iter=dlist1.iterator(); Boolean f=false; int c = 0; while(iter.hasNext()){ StringBuffer sb = new StringBuffer(iter.next()); c = Collections.frequency(dlist,sb.toString()); if(c>1){ System.out.println(sb.insert(3, "-")+" "+c); f=true; } } if(!f){ System.out.println("No duplicates."); } // System.out.println("\r<br>执行耗时 : "+(b-a)+" ms "); // System.out.println("\r<br>执行耗时 : "+(System.currentTimeMillis()-b)+" ms "); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator