在SPOJ获得1341M?

时间:2016-01-04 12:40:12

标签: java memory

我在SPOJ的这个简单程序中使用1341 Memory。我想将它降低到2到3M。我该如何改进代码。我在哪里使用更多的内存。我给了程序bwlow:

 import java.util.*;
 import java.lang.*;
 import java.io.*;

 class Test
 {
  public static void main (String[] args) throws java.lang.Exception
    {
    Scanner sc=new Scanner(System.in);
    String str=new String();
    String str1[]=new String[10];
    int len;
    int t=sc.nextInt();
    for(int i=0;i<t;i++)
    {
        str=sc.next();
        str1=str.split("");
        len=str.length()/2;
        for(int j=0;j<len;j++)
        {
            if(j%2==0)
            {
                System.out.print(str1[j]);
            }
        }
    System.out.println();

    }
}
}

1 个答案:

答案 0 :(得分:0)

不要将字符串str转换为字符串数组str1以访问str的单个字符。而是使用

if (j%2 == 0)
   System.out.print(str.charAt(j));