Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

JavaScript, любовный треугольник

*О* Знаток (416), закрыт 6 лет назад
история
Spichonees (составленное имя) живут в стране Spichland, где нет пола. Spichonees - большие любовники, поэтому каждый Spichonee любит любого другого Spichonee. К сожалению, иногда бывают ситуации, когда Spichonee A любит Spichonee B, Spichonee B любит Spichonee C и Spichonee C любит Spichonee A. Это явление называется любовным треугольником .

задача
Ваша задача - реализовать функцию, getLoveTrianglesCountкоторая вычисляет количество любовных треугольников . Функция принимает массив целых чисел как единственный параметр. Целое число kна этом nозначает, что nСпишон любит kСпихоние.
Почему тест выдает ошибку?
/**
* @param preferences - an array of integers. Indices of people, whom they love
* @returns number of love triangles
*/
module.exports = function getLoveTrianglesCount(preferences = []) {
// your implementation
var count = 0;
preferences.unishift('');
for(var i = 0; i < preferences.length; i++){
var firstLove = preferences[i];
var secondLove = preferences[first];
var thirdLove = preferences[second]
if (thirdLove == i) {
count++;
}
}
count = count / 3;
return Math.round(count);
};
Лучший ответ
̑̈☣̑̋̑̎̑̈ ☠̤̥̤̭̤ ☢J̯̤ͣͮͣ̐̈ Высший разум (160387) 6 лет назад
Ты под чем летишь ?
Развела тут гомосятину понимаешь этому что сейчас в школах на украине учат ?

Остальные ответы
Андрей Высший разум (484012) 6 лет назад
Ты присваиваешь значение переменной firstLove, а используешь НЕ существующую переменную fist, присваиваешь значение secondLove, а используешь не существующую переменную second.

unshift совершенно не нужен.

Весь код твоей функции можно записать намного проще:

let count = 0;
for (let i in preferences) { count += i == preferences[preferences[i]]; }
return count / 3;

Или даже в одну строчку:

rerurn preferences.filter((val, i) => i == preferences[val]).length / 3;
Похожие вопросы