Ransom Note

Problem

Given two strings ransomNote and magazine, return true if ransomNote can be constructed by using the letters from magazine and false otherwise.

Each letter in magazine can only be used once in ransomNote.

Example 1:

Input: ransomNote = "a", magazine = "b"
Output: false

Example 2:

Input: ransomNote = "aa", magazine = "ab"
Output: false

Example 3:

Input: ransomNote = "aa", magazine = "aab"
Output: true

Pseudocode

Solution

Time and Space Complexity

Time

  • Two loops are performed, one to create the map, the other to find matching letters for the ransom note. Both are performed independently - O(N)

  • Total - O(N)

Space

  • Map created to store letters and count, space requirements increases with input size - O(N)

  • Total - O(N)

Last updated