Показать сообщение отдельно
  #3 (permalink)  
Старый 26.05.2021, 15:51
Интересующийся
Отправить личное сообщение для vurdalak21 Посмотреть профиль Найти все сообщения от vurdalak21
 
Регистрация: 22.05.2021
Сообщений: 10

Alexandroppolus,
спасибо за объяснение. смог сделать только в императивном подходе, теперь хочу сделать в декларативном подходе(функциональное программирование), какими методами можно воспользоваться для решения данной задачи?

let stoneGameVI = function (aliceValues, bobValues) {
    let winAlice = 0;
    let winBob = 0;
    let arr = [];
    for (let i = 0; i < aliceValues.length; i++) {
        arr.push([aliceValues[i] + bobValues[i], aliceValues[i], bobValues[i]]);

    }
    arr.sort((a, b) => b[0] - a[0]);
    for (let i = 0; i < aliceValues.length; i += 2) {
        winAlice += arr[i][1]
        if (arr[i + 1] !== undefined) {
            winBob += arr[i + 1][2]
        }
    }

    if (winAlice > winBob) return 1
    if (winAlice === winBob) return 0
    if (winAlice < winBob) return -1
};
Ответить с цитированием