Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
Your code is counting number of unique elements in the input. For the case of input
"aaabbb"
, your function computes an uniqueArr to be of length 0. And returnstrue
, while the expected answer isfalse
.Instead, you must determine whether ONLY one element occcurs ODD number of times.
"aaabbb"
, your logic would compute 2 (botha
andb
occur odd number of times). In this case, since it is more than one, your function should return false."aaabbbb"
, your logic would compute 1 (onlya
occurs odd number of times). And therefore function should return true. (bbaaabb
orabbabba
would be valid palindromes).I hope this helps!
try your function with e.g. "aaabbb"
I don't understand how adamm which would become mmada is a palindrome ?
This comment is hidden because it contains spoiler information about the solution
I'm almost siting all night, trying to solve this task. If you are so smart find error in my solution! Why it doesn't pass random test?
function permuteAPalindrome (input) {
let arr = input.split('');
const uniqueArr = [];
for (let i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) === arr.lastIndexOf(arr[i])) {
uniqueArr.push(arr[i]);
}
}
if( (uniqueArr.length < 1) || (uniqueArr.length === 1) ) return true;
else if (uniqueArr.length > 1) return false;
}