Willcode4cash icon

URL Shortening Implementation

Willcode4cash | PRO | 08/17/17 08:41:54 AM UTC | 0 ⭐ | 305 👁️ | Never ⏰ | []
C# |

1.15 KB

|

None

|

0 👍

/

0 👎

public class UrlShortener
{
    public static readonly string Alphabet = "abcdefghijklmnopqrstuvwxyz0123456789";
    public static readonly int Base = Alphabet.Length;
 
    public static string Encode(int i)
    {
        if (i == 0) return Alphabet[0].ToString();
        var s = string.Empty;
        while (i > 0)
        {  
            s += Alphabet[i % Base];
            i = i / Base;
        }
        return string.Join(string.Empty, s.Reverse());
    }
 
    public static int Decode(string s)
    {
        var i = 0;
        foreach (var c in s)
        {
            i = (i * Base) + Alphabet.IndexOf(c);
        }
        return i;
    }
}
 
public class Program
{
    public static void main() 
    {
        // Insert URL to be shortened into database and get it's record ID
        //  e.g. "http://www.foo.bar" => 155885
        // Encode 155885 which results in the string "dmkf"
        // This is the parameter to your Url shortener 
        //  e.g. "http://www.url.me/dmkf"
        // Decode the parameter to get the original record ID
        // Redirect the user to the URL represented by the record ID
    }
}

Comments