fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.Scanner;
  4.  
  5. /**
  6.  *
  7.  * @author Neelabh
  8.  */
  9.  
  10. class FirstNonRepeatedCharacterEfficient {
  11. public static void main(String [] args){
  12. CharCountAndPosition [] array=new CharCountAndPosition[256];
  13. for(int i=0;i<256;i++)
  14. {
  15. array[i]=new CharCountAndPosition();
  16. }
  17. Scanner scan=new Scanner(System.in);
  18. String str=scan.next();
  19. int len=str.length();
  20. for(int i=0;i<len;i++){
  21. char c=str.charAt(i);
  22. int index=c-'a';
  23. int frequency=array[index].frequencyOfchar;
  24. if(frequency==0)
  25. array[index].firstIndex=i;
  26. array[index].frequencyOfchar=frequency+1;
  27. //System.out.println(c+" "+array[index].frequencyOfchar);
  28. }
  29. boolean flag=false;
  30. int firstPosition=Integer.MAX_VALUE;
  31. for(int i=0;i<256;i++){
  32. if(array[i].frequencyOfchar==1){
  33. //System.out.println("character="+(char)(i+(int)'a'));
  34. if(firstPosition> array[i].firstIndex){
  35. firstPosition=array[i].firstIndex;
  36. flag=true;
  37. }
  38. }
  39. }
  40. if(flag==true)
  41. System.out.println(str.charAt(firstPosition));
  42. else
  43. System.out.println("There is no such type of character");
  44. }
  45. }
  46. class CharCountAndPosition{
  47. int firstIndex;
  48. int frequencyOfchar;
  49. }
Success #stdin #stdout 0.1s 380736KB
stdin
geeksforgeeks
stdout
f