URL Hashing

URL Hashing

INTERN

Implement an algorithm to hash a URL as described.

Suppose the given URL url of length n is to be hashed with a string hash_string of length m . Given an integer k , run the url through the following algorithm:

  • Divide the URL into blocks of size k starting from the left. The last block can be smaller than k . For example, if url = "https://xyz.com" and k = 4 , the blocks are ["http", "s://", "xyz.", "com"].
  • The values of the English characters 'a', 'b', ..., 'z' are 0, 1, ..., 25 respectively, and that of ':', '/' and '.' are 26, 27, and 28 respectively. Thus the has value of the block "s://" will be 19 + 26 + 27 + 27 = 98.
  • For each URL, find the hash value of each block. The hash value is the sum of the values of each character.
  • Replace the block with the (hash value of the block modulo m )th character of the string hash_string .
  • Given the string url , hash_string , and an integer k , find the hashed string.


    Example 1 :

    Input: url = "https://xyz.com", hashString = "pqrst", k = 4
    Output: "psps"
    Explanation:

    Each hash value is divided by the len of hash_strong or 5 in this case. The remainders oint to the characters in hash_string, and the answer is "psps".




    Get one-to-one training from Google Facebook engineers

    Top-notch Professionals

    Learn from Facebook and Google senior engineers interviewed 100+ candidates.
    Most recent interview questions and system design topics gathered from aonecode alumnus.
    One-to-one online classes. Get feedbacks from real interviewers.

    Customized Private Class

    Already a coding expert? - Advance straight to hard interview topics of your interest.
    New to the ground? - Develop basic coding skills with your own designated mentor.
    Days before interview? - Focus on most important problems in target company question bank.