Using data structures (HashMap) I was able to do it.
This is the code:
import java.util.*;
class unique{
public static void main(String[] args){
HashMap<Character, Integer> charMap = new HashMap<Character, Integer>();
boolean isNotUnique = false;
for ( char loop : args[0].toCharArray() ){
Integer freq = charMap.get( loop );
charMap.put( loop, ( freq == null )? 1 : freq+1 );
if ( charMap.get( loop ) > 1 )
{
isNotUnique = true;
}
}
System.out.println ( isNotUnique );
}
}
Without datastructures, I came up with a blunt approach. This has O(n^2)
class unique
{
public static void main(String[] args)
{
String inputString = args[0];
System.out.println( isUnique( inputString ) );
}
private static boolean isUnique(String inputString) {
String methodString = inputString;
for ( int i = 0; i < inputString.length(); i++ )
{
for ( int j = i+1; j < inputString.length(); j++ )
{
if ( methodString.charAt( i ) == methodString.charAt( j ) )
{
return false;
}
}
}
return true;
}
}
I was wondering if it was possible to solve in O(n) time complexity