fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. static void lps(String pattern , int lpsarr[])
  11. {
  12. int len = 0;
  13. int i = 0;
  14.  
  15. while(i < lpsarr.length)
  16. {
  17. if(pattern.charAt(i) == pattern.charAt(len))
  18. {
  19. lpsarr[i] = len;
  20. len++;
  21. i++;
  22. }
  23. else
  24. {
  25. while(pattern.charAt(i) == pattern.charAt(len))
  26. {
  27. if(len == 0)
  28. {
  29. lpsarr[i] = 0;
  30. break;
  31. }
  32. len = lpsarr[len - 1];
  33. }
  34. }
  35. }
  36. }
  37. public static void main (String[] args) throws java.lang.Exception
  38. {
  39. // your code goes here
  40.  
  41.  
  42. String pattern = "AAAAA";
  43. int lpsarr[] = new int[pattern.length()];
  44. lps(pattern , lpsarr);
  45.  
  46. for(int i = 0 ; i < lpsarr.length ; i++)
  47. {
  48. System.out.print(lpsarr[i] + " ");
  49. }
  50. System.out.println();
  51. }
  52. }
Success #stdin #stdout 0.05s 4386816KB
stdin
Standard input is empty
stdout
0 1 2 3 4