Комментарии:
Хм.. в питоне set
ОтветитьБИМ-БИМ-БАМ-БАМ
ОтветитьВообще ничего не понимаю 😂
ОтветитьНу вообще-то нужно было получить представление данного кода в ассемблере и уже над ним думать как улучшить.
ОтветитьИспользуешь хэш таблицу, если памяти не хватает используешь алгоритм черепахи и кролика.
ОтветитьСмотрю код и в ахере, когда думаю что на python реально легче
ОтветитьСколько можно зарабатывать на такой занятости в месяц при 8 часах в день, и проживая в провинции, например в Саратове? Есть диплом, есть знания, но не знаю как начать, работал в местном ценьтре, платили 40 к.
ОтветитьА он работать будет?)
Ответитьможно так наоптимизировать , что потом никто не разберется и код заново писать придётся, так что знайте меру!
ОтветитьЭм, если не говорить про […new Set(arr)], то редьюсер работает медленней форыча, это не оптимизация, а наоборот замедление кода
Ответитьто что указанный в зависимости массив подкапотно точно также создается, игнорируем? рефактор != оптимизация, по многим причинам такое нельзя путать. без понимания того как реализован метод вообще неуместно говорить об алгоритмической сложности
Ответитьудачи в дебаге с таким оптимизмом
Ответитьnew Set(arr)
Ответитья могу оптимизировать этот код до двух строк: const x = [1,2,3,5,6,7]; console.log(x);
ОтветитьПочему в комментах нет шуток про js?
Ответитьreturn Array.from(new Set(array));
Ответитьset
ОтветитьSet
ОтветитьА проговаривать мысли, типа, не надо
ОтветитьЧел просто видимо хейтер Array.filter, да и к тому же он оптимизировал код настолько, что он перестал работать, аккумулятор нужно возвращать было
ОтветитьЯ бы сначала отсортировал, а потом уже отбрасывал бы совпадения
ОтветитьReduce шляпа, также как и использовать в таких кейсах includes
ОтветитьУдивительно, как в JS в константу можно добавлять значения =) это капец.
ОтветитьРад, что чувак отметил, что код стало сложнее читать. Это конечно такое себе решение 😂
ОтветитьКринжанул
Ответитьfunction abs (array){
return Array.from(new Set(array))
}
Как-то так:
function removeDuplicates(arr = []) {
const result = [];
let last;
for (const cur of arr) {
if (last !== cur) {
result.push(cur);
last = cur;
}
}
return result;
}
Создать переменную Set и в цикле туда добавлять значения из массива, тогда останутся только уникальные, читать легко и работать будет намного быстрее, т.к. set.has(item), почти всегда работает за О(1), а arr.includes(item) за в худшем случае за О(n).
Ответитьорнул с оптимизации
ОтветитьПАЙТОН БЛЕЛАААТЬЬ
ОтветитьРебят, а почему бы не вернуть new Set(arr), объясните
ОтветитьОтсортим, потом удаляем все дубликаты за линию. N*logN
ОтветитьBim bim bam bam
ОтветитьБро привет можно с тобой дружить❤
Ответитьа [...new Set(arr)] по рриколу?
ОтветитьБ****ЯЧЯЯЯЯЯЯЯ
ПАЙТООООООООООООООН
Что-то на 1+1 = 11😂😂
ОтветитьХуйня у меня информати лутше
Ответитьreturn Array.from(new Set(arr))
Ответитьfunction removeDuplicates(arr) {
return [...new Set(arr)];
}
Set покинул чат 😢
ОтветитьС циклом For норм
ОтветитьЗабыл return acc
ОтветитьЗвук клавиши приятные )
Ответитьif (items.indexOf(item) === items.lastIndexOf(item)) {
result.push(item)
}
ну или Set. Я не js-ер)
Set это вариант. Не нравится сет, можно через мапинг разрулить. А ниже пример оптимизации памяти, у нас не будет дополнительно аллокации в памяти. Выделение памяти может очень дорого стоить и нужно пользоваться только 1 массивом.
const removeDuplicates = (arr: number[]): number[] => {
let writeIndex = 0;
for (let i = 0; i < arr.length; i++) {
let isDuplicate = false;
for (let j = 0; j < i; j++) {
if (arr[i] === arr[j]) {
isDuplicate = true;
break;
}
}
if (!isDuplicate) {
arr[writeIndex] = arr[i];
writeIndex++;
}
}
arr.length = writeIndex;
return arr;
}
Это куйня, а не оптимизация! Шило на мыло ))
Ответитьэто НЕ ОПТИМИЗАЦИЯ
ОтветитьБлин я думал на фоне мужик говорит, а на видео просто девушка. Это оказывается сам мужик там 🤦🏾♂️. Ему надо пересмотреть прическу
Ответить