Skip to content

Instantly share code, notes, and snippets.

View flymio's full-sized avatar

Roman Borisoglebskyi flymio

View GitHub Profile
<?php
require_once "./DbSimple/Generic.php";
class PampersTrash {
private static $instance;
private static $dbConf = array(
"user" => "root",
"password" => "******",
"database" => "storages",
"host" => "localhost",
@flymio
flymio / test.js
Last active March 28, 2018 05:41
download files via nodejs
var rs = require('request'), max_downloaded = 5, cnt = 0, data_str = '', links = [], queue = [], finished = [], save_dir = 'tmp', fs = require('fs'), regexp = /filename=\"(.*)\"/gi;
process.stdin.on('data', function(data) {
data_str += data;
if (data_str.match("\n")){
links = data_str.split("\n").filter(url => url.length > 10);
parseLinks();
}
});
function parseLinks() {
@flymio
flymio / gist:37b69ac14b9f494424ebb35739a3b619
Last active September 26, 2018 16:45
my new knowledge 26.09.2018
1. Обработка строк без регулярных выражений с примитивными типами:
fscanf($stdin, "%d\n", $ar_count);
fscanf($stdin, "%[^\n]", $ar_temp);
2. Обработка массива и преобразование типа:
$ar = array_map('intval', preg_split('/ /', $ar_temp, -1, PREG_SPLIT_NO_EMPTY));
3. Вместо foreach для суммирования можно использовать: array_sum
@flymio
flymio / diagonal_diff.php
Created September 27, 2018 09:20
my new knowledges
<?php
// Complete the diagonalDifference function below.
function diagonalDifference($arr) {
$count = count($arr);
$d1=0; $d2=0;
for($i=0;$i<$count;$i++){
$d1+=$arr[$i][$i];
$d2+=$arr[$i][$count-$i-1];
}
Из чужих решений узнал про функцию bcdiv:
string bcdiv ( string $dividend , string $divisor [, int $scale = 0 ] )
Операция деления для чисел произвольной точности
Искал перловое 'STR' x SCALAR, но не помнил название функции, в итоге в солюшинах нашел str_repeat
крутое решение на питоне:
a = input().strip().split(' ')
for i in range(0, len(a)):
a[i] = int(a[i])
s = sum(a)
print(str(s - max(a)) + " " + str(s - min(a)))
<?php
// Complete the birthdayCakeCandles function below.
function birthdayCakeCandles($ar) {
$maxHeight = max($ar); $cnt=0;
foreach($ar as $candle){
if($candle == $maxHeight){
$cnt++;
}
}
<?php
/*
* Complete the timeConversion function below.
*/
function timeConversion($s) {
if (preg_match('/(.+?)(\w{2})$/',$s, $matches)){
$date = explode(":", $matches[1]);
if ($matches[2] == 'PM' && $date[0] < 12){
$date[0]+=12;
Новые функции при работе с массивами:
end - последний элемент (а я то трахался с тем чтобы -1 получить)
current - текущий элемент (когда мы берем элементы через next())
next - следующий элемент массива, не знаю зачем оно может пригодиться если что.