Если я правильно понял задание с массивом, то нам нужно просто посчитать индексы значений, которые меньше k, получим массив (пример) [0, 1, 3, 4], а потом пройдем циклом по элементам и если следующий индекс больше предыдущего на 2 и больше, значит нужна перестановка.
Код на js
const array = [2, 7, 9, 5, 8, 7, 4]
const k = 5
const groupNearK = function (arr, k) {
const length = arr.length
const idx = []
let moveCount = 0
for(let i = 0; i < length; i++) {
if(arr[i] <= k) idx.push(i)
}
for(let i = 1; i < idx.length; i++) {
if((idx[i] - idx[i - 1]) > 1) moveCount++
}
return moveCount
}
console.log(groupNearK(array, k))
Решение за один цикл
const array = [2, 1, 5, 6, 3]
const k = 3
const groupNearK = function (arr, k) {
const length = arr.length
let moveCount = 0
let lastIndex = -1
for(let i = 0; i < length; i++) {
if(arr[i] <= k) {
if(lastIndex >= 0 && (i - lastIndex) > 1) {
moveCount++
}
lastIndex = i
}
}
return moveCount
}
console.log(groupNearK(array, k))
Вам еще не надоело хаить инструменты? Тут ведь все сводиться к делу вкуса: кто-то любит низкоуровневый Redux, где ты контролируешь весь поток данных, кто-то любит абстракции и магию, не задумываюсь о реализации всего этого. Но с чего это ваши личные предпочтения вдруг делают %инструмент_нейм% ужасным, неэффективным и вообще использование его становится моветон. Есть же альтернативы, так используйте их, зачем писать эти статьи? Я как новичок из них ничего не получу, так как легко могу найти статьи за и против любого инструмента. Все равно придется пробовать самому.
Кому-то нравится электродрель, кому-то молоток и гвозди, а кому-то легче нанять рабочих и вообще не париться.
Отдельных верстальщиков нет, точнее есть, но они в других проектах, а там уже не известно используют они React или нет. На нашем проекте вставал вопрос о разделении на верстальщика и разработчика фронта, но потом поняли, что это избыточно.
Какая-то реклама собственного фреймворка, на основе унижения React-а.
Участвую в проекте разработки CRM, пишем на React-е, есть огромная библиотека простых виджетов/ui-компонентов, которые используются/переиспользуются вполне благополучно. Да, тем кто раньше писал только ООП сложно поменять парадигму и перейти на функциональных подход к компонентам, поэтому все еще используют наследование и перегрузку методов, вместо HOC, но это лечится)
Я для решения проблемы дублирования редьюсеров использовал один редьюсер, который хранит в себе несколько стейтов, которые могут динамически создаваться и обращаться к ним можно по имени
C девтулзом хорошо дружит, потому что всегда можно посмотреть, какое имя передается в payload и тем самым понять, какой именно стейт в редьюсере будет изменен
Звучит как какое-то будущее, где приложения меняются визуально в зависимости от внешних факторов: утром цвета яркие, сочные, что бы взбодрить меня, ближе к вечеру становятся нейтральными, что бы глаза не уставали и т.д. Пусть еще анализируют элементы по которым я чаще всего кликаю/тапаю что бы располагать их ближе друг к другу или более оптимально. Вообще тут много и долго можно фантазировать и идея действительно интересная
С нынешней схемой развития js, всегда будет необходимость в babel-e (других транспиляторах).Каждый раз всегда будет esX, которым хотят пользоваться, но которые еще не поддерживается в браузерах. К тому же, думаю и babel не такие дураки. уже сейчас есть babel-preset-env, где можно указать версию браузера, для которого билдится код и так уменьшить количество изменений.
Вы не думали о фиксированном меню сверху? Иногда очень надоедает скроллить вверх, что бы перейти в другой раздел меню ( например на geektimes). Хотя бы на странице списка новостей, где оно бы не сильно мешало ( В самом посте скорее всего такая вещь не нужна )
В чем же именно причина такого поведения? Не думаю, что это только из-за того, что мозгу «лень» переучиваться.
Может проблем в конкурентности чувств. То есть пока человек слеп, связи от тактильных нейронов становятся сильнее ( так как используются чаще ), а вот зрительные нервы вообще отдыхают. В итоге, когда человек получает зрение, уровень «доверия» к этому новому чувствую гораздо меньше, поэтому выбирая между тем, от кого получать информацию мозг выбирает более «сильное» чувство.
webpack
двигается в сторону полноценногоSDK
для веб приложенийЕсли я правильно понял задание с массивом, то нам нужно просто посчитать индексы значений, которые меньше k, получим массив (пример) [0, 1, 3, 4], а потом пройдем циклом по элементам и если следующий индекс больше предыдущего на 2 и больше, значит нужна перестановка.
Решается в один цикл
Пример с
React
иstate
в первом пункте не совсем правильный. Ошибкой будеттак как явно не указан
state
, а по умолчанию он равенnull
Backbone.js
еще жив?Вам еще не надоело хаить инструменты? Тут ведь все сводиться к делу вкуса: кто-то любит низкоуровневый
Redux
, где ты контролируешь весь поток данных, кто-то любит абстракции и магию, не задумываюсь о реализации всего этого. Но с чего это ваши личные предпочтения вдруг делают %инструмент_нейм% ужасным, неэффективным и вообще использование его становится моветон. Есть же альтернативы, так используйте их, зачем писать эти статьи? Я как новичок из них ничего не получу, так как легко могу найти статьи за и против любого инструмента. Все равно придется пробовать самому.Кому-то нравится электродрель, кому-то молоток и гвозди, а кому-то легче нанять рабочих и вообще не париться.
Отдельных верстальщиков нет, точнее есть, но они в других проектах, а там уже не известно используют они
React
или нет. На нашем проекте вставал вопрос о разделении на верстальщика и разработчика фронта, но потом поняли, что это избыточно.Какая-то реклама собственного фреймворка, на основе унижения
React-а
.Участвую в проекте разработки CRM, пишем на
React-е
, есть огромная библиотека простых виджетов/ui-компонентов, которые используются/переиспользуются вполне благополучно. Да, тем кто раньше писал только ООП сложно поменять парадигму и перейти на функциональных подход к компонентам, поэтому все еще используют наследование и перегрузку методов, вместоHOC
, но это лечится)Я для решения проблемы дублирования редьюсеров использовал один редьюсер, который хранит в себе несколько стейтов, которые могут динамически создаваться и обращаться к ним можно по имени
C девтулзом хорошо дружит, потому что всегда можно посмотреть, какое имя передается в
payload
и тем самым понять, какой именно стейт в редьюсере будет измененТеперь у меня есть отговорка перед девушками)
Это теперь к кроссбраузерности добавится кросспроизводительность? Ну, спасибо!
Непонятно только, откуда взялись именно ТАКИЕ числа, почему 9192631770, а 9192631771? Числа как-то специально подгонялись под какие-то нужны?
Может проблем в конкурентности чувств. То есть пока человек слеп, связи от тактильных нейронов становятся сильнее ( так как используются чаще ), а вот зрительные нервы вообще отдыхают. В итоге, когда человек получает зрение, уровень «доверия» к этому новому чувствую гораздо меньше, поэтому выбирая между тем, от кого получать информацию мозг выбирает более «сильное» чувство.