0
여기 코드가 있습니다. 코드의 효율성을 높이고 싶습니다. 이 회문 코드의 처리 시간을 제한하십시오.
package palindrome;
import java.io.*;
import java.math.BigInteger;
import java.util.*;
public class Palindrome {
static Stack<Character> ss=new Stack<Character>();
public static void main(String[] args) throws IOException {
// TODO code application logic here
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
String s[]=read.readLine().split(",");
int min=Integer.parseInt(s[0]);
int max=Integer.parseInt(s[1]);
int finResult=palindrome(min,max);
System.out.println(finResult);
}
public static int palindrome(int min,int max)
{
int result=0;
for(int i=min; i<=max; i++)
{
String bin=BigInteger.valueOf(i).toString(2);
if(check(bin))
{
result+=1;
}
}
return result;
}
public static String fillStack(String input)
{
StringBuilder inn=new StringBuilder();
for(int i=0; i<input.length(); i++)
{
char c= input.charAt(i);
if(c!=' ')
{
ss.push(c);
inn.append(c);
}
}
return inn.toString();
}
public static String buildReverse()
{
StringBuilder rev=new StringBuilder();
while(!ss.empty())
{
char ch=ss.pop();
rev.append(ch);
}
return rev.toString();
}
public static boolean check(String input)
{
if(fillStack(input).equalsIgnoreCase(buildReverse()))
return true;
else
return false;
}
}
내가 (1,1000000)와 같은 입력을 사용
는 내가 제한 할 수있는 방법을 compute.So 시간이 많이 걸립니다이 코드의 효율성을 개선 할 수있는 방법 그렇지 않으면 time.Or ?
감사합니다.
좋아, 내가 무엇을 할 수있는 runtime.So을 줄이려? – user2922052
그는 이미 당신의 질문에 대답했습니다. 너 이해하지 못했 니? –