Sunday, 25 December 2016

Find Non Repetitive Character in String using java

package it.com.shift.plugin.issue;

import java.util.HashMap;
import java.util.LinkedHashMap;

public class FindNonRepetitvieCharecter {

public static void main(String[] args) {
// TODO Auto-generated method stub
        String name ="krishknaraois";
        System.out.println(printFirstNonRepetingCharacterIterative(name));    
        System.out.println(printFirstNonRepetingCharacterUsingJava(name));
        System.out.println(printFirstNonRepetingCharacterUsingJavaSinglePass(name));
}

private static char printFirstNonRepetingCharacterUsingJavaSinglePass(String name) {
for(char value : name.toCharArray()){
if(name.indexOf(value)==name.lastIndexOf(value)){
return value;
}
     }
return ' ';
}

//Minimum complexity n and maximum complexity n^2
private static char printFirstNonRepetingCharacterUsingJava(String name) {
HashMap<Character,Integer> characters = new LinkedHashMap<Character,Integer>();
for (char literal : name.toCharArray()) {
characters.put(literal, characters.containsKey(literal)?characters.get(literal)+1:1);
}
   for (Character value : characters.keySet()) {
if(characters.get(value)==1){
return value;
}
}
return ' ';
}

//Minimum complexity n and maximum complexity n^2
private static char printFirstNonRepetingCharacterIterative(String name) {
// TODO Auto-generated method stub
for(int i=0;i<name.length();i++){
        for(int j=i+1;j<name.length();j++){
        if(name.charAt(i)== name.charAt(j)){
        break;
        }else if(j+1==name.length()){
        return name.charAt(i);
        }
        }
       }
return ' ';
}

}

No comments:

Post a Comment

Custom single threaded java server

 package com.diffengine.csv; import java.io.*; import java.net.*; import java.util.Date; public class Server { public static void main(Str...