Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let candies = [33, 20, 12,12, 19, 29]
- let threshold = 47;
- console.log(sugarHigh(candies, threshold))
- function sugarHigh(candies, threshold){
- var dict = [] //създавам речник
- //в долния цикъл добавям сладките в речника, като слагам на кей индекса им,
- //а на value захарта
- for(let i =0; i < candies.length; i++){
- dict.push({
- key: i,
- value: candies[i]
- })
- }
- candies.sort() //сортирам масива със сладките
- let indices = [] //създавам си масив за индексите на сладките, които ще ядем
- let sumOfSugar = 0 //захарта, която ще изядем
- for(let i = 0; i < candies.length; i++){
- if(sumOfSugar + candies[i] <= threshold){ //проверяваме дали можем да изядем още една сладка
- sumOfSugar += candies[i] //ако можем добавяме захарта й към натрупаната захар от предните сладки
- indices.push(Object.keys(dict).find(key => dict[key].value === candies[i])) //търсим тази сладка в речника и й взимаме индекса от първия масив, който ни подават
- }
- }
- //тука проверяваме дали има 2 еднакви сладки и ако има на втората й качваме индекса с 1
- for(let i = 0; i < indices.length; i++){
- if(indices[i] === indices[i+1]){
- indices[i+1]++;
- }
- }
- return indices
- }
Advertisement
Add Comment
Please, Sign In to add comment