fork(2) 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. public static void main(String[] args) {
  11.  
  12. Date first = new Date();
  13.  
  14. for(int i = 0; i<20E6; i++){
  15. get("reverse");
  16. get("transaction");
  17. }
  18.  
  19. Date firstEnd = new Date();
  20.  
  21. System.out.println(firstEnd.getTime() - first.getTime());
  22.  
  23. Date second = new Date();
  24.  
  25. for(int i = 0; i<20E6; i++){
  26. getFirstUniqueChar("reverse");
  27. getFirstUniqueChar("transaction");
  28. }
  29.  
  30. Date secondEnd = new Date();
  31.  
  32. System.out.println(secondEnd.getTime() - second.getTime());
  33.  
  34.  
  35. }
  36.  
  37.  
  38. private static char get(String in){
  39.  
  40. final char[] arr = in.toLowerCase().toCharArray();
  41. boolean isDuplicate;
  42. final int length = arr.length;
  43.  
  44. for(int i = 0; i<length; i++){
  45.  
  46. isDuplicate = false;
  47. final char letter = arr[i];
  48.  
  49. for(int b = i+1; b<length; b++) {
  50. if(arr[b] == letter) {
  51. isDuplicate = true;
  52. break;
  53. }
  54. }
  55.  
  56. if(!isDuplicate) return arr[i];
  57. }
  58.  
  59. return 0;
  60. }
  61.  
  62. public static char getFirstUniqueChar(String s) {
  63. int[] temp = new int[26];
  64. int alphabetNum;
  65. for (int i = 0; i < s.length(); i++) {
  66. alphabetNum = getAlphabetNum(s.charAt(i));
  67. if (temp[alphabetNum] == 0) {
  68. temp[alphabetNum] = i;
  69. } else {
  70. temp[alphabetNum] = -1;
  71. }
  72. }
  73.  
  74. for (int i = 0; i < s.length(); i++) {
  75. alphabetNum = getAlphabetNum(s.charAt(i));
  76. if (temp[alphabetNum] == i) {
  77. return s.charAt(i);
  78. }
  79. }
  80. return ' ';
  81. }
  82.  
  83. public static final int getAlphabetNum(char c) {
  84. c = Character.toLowerCase(c);
  85. return c - 'a';
  86. }
  87. }
Success #stdin #stdout 2.27s 4386816KB
stdin
Standard input is empty
stdout
1019
1217