flappydev.geecko.com

Решения потребовали интересных финтов, типа выбора элементов массива по маске или составления уравнения с логарифмом. Поэтому решил сохранить их на память.

/*
Вы спустились в темное подземелье, но там ничего не было видно. Единственное, что вы смогли сделать - посчитать количество ступенек вниз и вверх.
Ваша задача: узнать высоту самой глубокой точки в подземелье
Ввод: array_steps - строковой массив ступенек, которые вы прошли. "d" - означает ступеньку вниз, "u" - ступенька вверх. Изначальную высоту принято считать 0
Вывод: число (Integer) - глубина подземелья
Example:
	array_steps = ["d", "d", "d", "u", "u", "d", "u"]
	getResult(array_steps) = 3
*/
function getResult(arraySteps) {
    let d = 0;
    let maxD = 0;
    for(let dir of arraySteps) {
    	d += dir=='d' ? 1 : -1;
    	if(maxD < d) maxD = d;
    }
    return maxD;
}

array_steps = ["d", "d", "d", "u", "u", "d", "u"]
console.log(getResult(array_steps));



/*
Собираясь по утрам на работу, Джо устал каждый раз находить носки без пары.
Он пронумеровал все свои носки и написал программу, которая выявляет номер носка, который не имеет пару.
Теперь у Джо всегда отличные носки и больше свободного времени
Ввод: socks - массив чисел, который всегда имеет одно беспарное число
Вывод: integer - номер числа без пары
Example:
	socks = [2, 3, 5, 3, 1, 2, 1]
	getResult(socks) -> 5
*/

function getResult(socks) {
    return socks.reduce((res,v)=>res^v, 0);
}

socks = [2, 3, 5, 3, 1, 2, 1]
console.log(getResult(socks));

/*
У вас есть график высоты американской горки на каждом участке. По правилам, соседние участки не должны быть выше более чем в два раза. Добавьте в массив новые участки, чтобы горки стали более пологими. Выведите длину получившейся горки
Начало и конец горки всегда имеют высоту 1 и эта высота не входит в массив
На входе: heights - числовой массив высоты горки на каждом участке, где heights[i] - высота участка i
На выходе: Integer - минимальная длина массива, в котором значение соседних элементов не превышает более чем в два раза
Пример:
	heights = [1, 2, 6, 3]
	getResult(heights) = 6
	В массив было добавлено 2 участка, один из вариантов решения [1, 2, *3*, 6, 3, *2*]
*/

function getResult(heights) {
    let result = 0;
    if(heights[0]!=1) {
	heights.unshift(1);
	result--;
    }
    if(heights[heights.length-1]!=1) heights.push(1);
    for(let i=1;ib-a).filter(a=>(a<=tgt && a!=0));
    let max = Math.pow(actualFences.length, 2)-1;
    for(let mask=1; mask(mask & (1 << i))).reduce((sum,a)=>sum+a) == tgt) return 1;
    return 0;
}

fences = [0, 2, 4, 1, 6, 2];
console.log(getResult(fences));

От противного



Похоже, Бог не утруждается разглядыванием отдельных человечков и возлагает искупление грехов на кого придётся.

Вещизм

Ожидание подарка порой даёт более глубокие эмоциональные переживания, нежели сам факт его получения.
Получение же питает вещизм, а ожидание развивает воображение и преумножает любовь.
Проигрывание воображаемых сцен общения с объектом вожделения заочно делает его родным и ещё более желанным.
Без такого сроднения, после получения и кратковременной эйфории от обладания, подарок наверняка будет сразу забыт, появится чувство неудовлетворённости, которое можно заглушить лишь новыми подарками.
Это и есть Вещизм - один из основных грехов в безымянной религии зелёных человечков.

Чекбоксы в ActiveForm

Мрак :(
'filter' => '
    < input 
        type="checkbox"  
        value="'.(!empty($_GET['filial1'])?1:0).'" '.
        (!empty($_GET['filial1'])?'checked':'').
        ' onchange="
                $(\'#filial1\')
                    .val(this.checked?1:0)
                    .trigger(\'change\')
        ">'.
    '< input 
        type="hidden" 
        name="filial1" 
        value="'.(!empty($_GET['filial1'])?1:0).'" 
        id="filial1">'

Переносы

Век учись..
function getShy($text) {
    $RusA = "[абвгдеёжзийклмнопрстуфхцчшщъыьэюя]";
    $RusV = "[аеёиоуыэюя]";
    $RusN = "[бвгджзклмнпрстфхцчшщ]";
    $RusX = "[йъь]";
     
    $regs = [];
    $regs[] = "~(". $RusX . ")(" . $RusA . $RusA . ")~iu";
    $regs[] = "~(". $RusV . ")(" . $RusV . $RusA  . ")~iu";
    $regs[] = "~(". $RusV . $RusN . ")(" . $RusN . $RusV . ")~iu";
    $regs[] = "~(". $RusN . $RusV . ")(" . $RusN . $RusV . ")~iu";
    $regs[] = "~(". $RusV . $RusN . ")(" . $RusN . $RusN. $RusV . ")~iu";
    $regs[] = "~(". $RusV . $RusN . $RusN . ")(". $RusN . $RusN . $RusV . ")~iu";
    $regs[] = "~(". $RusX . ")(" . $RusA . $RusA . ")~iu";
    $regs[] = "~(". $RusV . ")(" . $RusA . $RusV  . ")~iu";
     
     
    foreach($regs as $cur_regxp) {
        $text = preg_replace( $cur_regxp , "$1&shy;$2" , $text);
    }
    return $text;
}