Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; otherwise, it will return false.
Each letter in the magazine string can only be used once in your ransom note.
Note:
You may assume that both strings contain only lowercase letters.
int i = 0, j = 0; while (i < ransomNote.size() || j < magazine.size()) { if (i < ransomNote.size()) rmap[ransomNote[i++] - 'a'] += 1; if (j < magazine.size()) mmap[magazine[j++] - 'a'] += 1; }
for (i=0; i<26; i++) if (rmap[i] > mmap[i]) return false;