Привет, Деверс!
Что творится? Вот еще один короткий пост о том, как я разрезал себя концепциями, которые я не знаю.
Это о Лучшее путешествие Из Codewars это очень просто, если вы кодируете в Python, но в JS (если вы похожи на меня) вам придется Ударьте голову на стол и Ударьте голову на стол и Ударьте голову на стол и … Максимальный размер стека превышен ! 😭
Проблема:
- Получите различные комбинации с фиксированной длиной (скажем, f) из входного массива без замены
- Рассчитайте сумму каждой комбинации, полученной на шаге 1.
- Сравните каждую сумму с данным входным параметром, скажем, k
- Вернуть сумму, ближайшую к K, в противном случае NULL и т. Д.
Если вы используете Python, получение комбинации так же просто в следующем:
import itertools
arr = [1,2,3,4,5,6,7,8]
combinations = itertools.combinations(arr, 5) # f is 5
#print each combination
for i in combinations:
print(i)
Проверьте сообщение от Гиксфорджеки Кстати, я только что видел это сейчас! LOL WUT!
Так… Я не знал этого, когда попробовал эту проблему, и я попробовал ее с JS, смотрящим здесь, и, как вы знаете, исходя из моего последний пост , это Ответственная, гротескная! 😬
ts = [ 91, 74, 73, 85, 73, 81, 87 ];
function chooseBestSum(t, k, ls){
var km = t;
var towns = k;
var arr = ls;
var tuple = [];
var km_sum = [];
var count = 0;
var result = 0;
function karan(arr){
if(arr.length==0){
return null;
}
else{
if(tuple.length===towns-1){
for(var i =0;ii+c));
}
//tuple.splice(1,2)
tuple.splice(1,tuple.length);
}
tuple.push(arr[0]);
karan(arr.slice(count+1, arr.length));
}
//return Math.max(...km_sum.filter(i=>i<=km?i:null))
}
for(var i = 0;i<=arr.length-towns;i++){
tuple = [];
karan(arr.slice(i,arr.length));
};
console.log(km_sum);
result = Math.max(...km_sum.filter(i=>i<=km));
if(result===-1 || result===-Infinity){
return null;
}
else{
return result;
}
//result = Math.max(...km_sum.filter(i=>(km_sum.length>0&&i<=km)?i:null));
}
chooseBestSum(331, 4, ts);
Что я пытаюсь сделать:
- Слишком много думать о том, что только Рекурсия Решите это! НЕПРАВИЛЬНЫЙ! Хотя это лучшее и краткое решение.
- Не в состоянии действительно визуализировать проблему.
- Никогда не читайте и не обнаружил, что это такое, пока я не увидел вещи в Интернете
- Абсолютно смущено, где будет работать возврат функции и т. Д.
И поэтому я не смог решить это сам! Код, который вы видите выше, работает 22/30 раз, потому что он не возвращает все правильные комбинации Потому что Это хит и мисс Потому что Это было в основном создано для! 😳😳😳😳
И я оставляю всех вас с этим: RTFM, снова тренируйтесь и цитату от Скотта Иствуда:
Держите голову, усердно работайте и никогда не верьте своей собственной ажиотаже, потому что … Вы просто продолжаете работать.
Добрый день!
Оригинал: “https://dev.to/hydroweaver/ouch-oh-no-i-recursiond-myself-399n”