Loading...
Lescet avatar Lescet 25 Точки

Задачи: Extract an Non-decreasing Subsequence from an Array and Sort an Array by 2 Criteria

Тези две задачи ми останаха от упражнението за arrays ... реших всичко друго плюс матриците ... само тези две .. първата я докарвам до 80/100 .. втората нищо, някакви идеи ?

Тагове:
0
JavaScript Fundamentals 07/10/2016 09:42:31
bobekabg avatar bobekabg 30 Точки
Best Answer

Ето ги моите решения, надявам се да помогнат: 
 

5. Problem

function extract(input) {
    input = input.map(Number)
    let prevElement = -Infinity
    input = input.filter(num => {
        if(num >= prevElement) {
            prevElement = num
            return true
        }
    })
    input.forEach(el => console.log(el))
}

6. Problem

function sortArray(input) {
    input.sort(twoCriteriaSort)
    input.forEach(el => console.log(el))

    function twoCriteriaSort(cur, next) {
        if(cur.length > next.length) {
            return 1
        } else if(cur.length < next.length) {
            return -1
        } else {
            return cur > next
        }
    }
}

 

2
Lescet avatar Lescet 25 Точки

Защо там връщаш 1 и -1 ... може ли да обясниш с две-три думи ? 1 означава true, а -1 false ?

0
07/10/2016 11:11:46
bobekabg avatar bobekabg 30 Точки

Когато си правиш  сортираща функция и в даден сценарии върнеш 1, ти казваш нещо от сорта завърти ми текущия със следващия елемент, а когато върнеш -1 казваш остави елементите както са, а когато двата елемента са равни по даден критерий провери друг критерий. Демек в случая проверявам дали cur.length === next.length и ако са равни ми ги сортирай по азбучен ред, cur > next

Порчети документацията на MDN

1
07/10/2016 13:01:43
Lescet avatar Lescet 25 Точки

Той и Наков го спомена в някой клип, но не помня кой точно ..

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.