| /** | |||||
| * @param {string} ransomNote | |||||
| * @param {string} magazine | |||||
| * @return {boolean} | |||||
| */ | |||||
| var canConstruct = function(ransomNote, magazine) { | |||||
| let mag = Array.from(magazine); | |||||
| for (const i in ransomNote) { | |||||
| let ind = mag.indexOf(ransomNote[i]); | |||||
| if (ind > -1) { | |||||
| mag.splice(ind, 1); | |||||
| } else { | |||||
| return false; | |||||
| } | |||||
| } | |||||
| return true; | |||||
| }; | |||||
| console.log("Expected: true"); | |||||
| console.log(`Got: ${canConstruct("aa", "aba")}`); |
| 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. | |||||
| canConstruct("a", "b") -> false | |||||
| canConstruct("aa", "ab") -> false | |||||
| canConstruct("aa", "aab") -> true | |||||
| #!/bin/bash | |||||
| node main.js |