一般算法题java数组能开多大

int占 4 字节

10^6int:约4MB

10^7int:约40MB

10^8int:约400MB

10^9int:约4GB

而大多数 OJ 给 Java 的内存一般是64MB / 128MB / 256MB / 512MB

10^6级别:很稳

10^7级别:有时还能接受,但要小心

10^8级别:通常就危险了

10^9级别:基本别想


输入样例:

500700

输出样例:

5679688697
importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassMain{staticint[]dp=newint[1000000001];staticvoidf(){for(inti=10;i<dp.length;i++){inttemp=i;inttemp_sum=1;while(temp!=0){temp_sum*=temp%10;temp/=10;}dp[i]=dp[temp_sum]+1;}}publicstaticvoidmain(String[]args)throwsIOException{BufferedReaderbf=newBufferedReader(newInputStreamReader(System.in));Stringspace=" ";String[]split=bf.readLine().split(space);inta=Integer.parseInt(split[0]);intb=Integer.parseInt(split[1]);f();StringBuildersb=newStringBuilder();intmax=0;for(inti=a;i<=b;i++){if(dp[i]>max){max=dp[i];}}for(inti=a;i<=b;i++){if(dp[i]==max&&sb.isEmpty()){sb.append(i);}elseif(dp[i]==max){sb.append(" "+i);}}System.out.println(max);System.out.println(sb.toString());}}