URL Shortener
1. Generate map
2. Encode from Integer to base=52
3. Decode from base=52 to Integer
public StringBuilder encodeTo52(int n){
        final int base = 52; 
        StringBuilder sb = new StringBuilder();
        if(n == 0)
           sb.append("0");
        else{
            while(n > 0){
                sb.append(map.get(n % base));
                n /= base;
            }
        }
        return sb.reverse();
    }
    public int decode(StringBuilder sb){
        int sum = 0;
        for(int i=sb.length()-1; i>=0; i--){
            sum += (int)Math.pow(base, revmap.get(new Character(sb.charAt(i))));     
        }
        return sum;
    }
    public void createMap(){
        int count = 0;
        for(int i=0; i<10; i++){
            map.put(count, new Character((char)((int)'0' + i))); 
            revmap.put(new Character((char)((int)'0' + i)), count);
            count++;
        }

        for(int i=0; i<26; i++){
            map.put(count, new Character((char)((int)'a' + i))); 
            revmap.put(new Character((char)((int)'a' + i)), count);
            count++;
        }

        for(int i=0; i<26; i++){
            map.put(count, new Character((char)((int)'A' + i))); 
            revmap.put(new Character((char)((int)'A' + i)), count);
            count++;
        }

        
    }