Created
September 8, 2016 15:43
-
-
Save gadzhimari/260965f08375745a1ed46946e4dc04f8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Original | |
function aclean(arr) { | |
// этот объект будем использовать для уникальности | |
var obj = {}; | |
for (var i = 0; i < arr.length; i++) { | |
// разбить строку на буквы, отсортировать и слить обратно | |
var sorted = arr[i].toLowerCase().split('').sort().join(''); // (*) | |
obj[sorted] = arr[i]; // сохраняет только одно значение с таким ключом | |
} | |
var result = []; | |
// теперь в obj находится для каждого ключа ровно одно значение | |
for (var key in obj) result.push(obj[key]); | |
return result; | |
} | |
// My solution | |
const aclean = (anagrams) => { | |
for (let i = 0; i < anagrams.length; i++) { | |
for (let j = i + 1; j < anagrams.length; j++) { | |
if (anagrams[i].length === anagrams[j].length) { | |
for (let k = 0; k < anagrams[i].length; k++) { | |
if (anagrams[j].toLowerCase().indexOf(anagrams[i].toLowerCase().charAt(k)) !== -1) { | |
if (k === anagrams[i].length - 1) { | |
anagrams.splice(j--, 1); | |
break; | |
} | |
continue; | |
} | |
} | |
} | |
} | |
} | |
return anagrams; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment