|____|
- это и есть контейнер, в котором может быть вода (если мир двумерный). Например если в примере взять самый левый (1) и самый правый (7) столбики, то высота воды будет 1 (иначе она слева выльется), а ширина будет 8 - итого получается 1*8=8 единиц воды.i<j
, что min(h[i],h[j])*(j-i)
максимально. nginx:
container_name: nginx_container
image: nginx
ports:
- 80:80
- 443:443
networks:
- private
- public
restart: always
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/conf.d/:/etc/nginx/conf.d/:ro
- ./certbot/www:/var/www/certbot/:ro
- ./certbot/conf/:/etc/nginx/ssl/:ro
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
certbot:
image: certbot/certbot
volumes:
- ./certbot/www/:/var/www/certbot/:rw
- ./certbot/conf/:/etc/letsencrypt/:rw
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
arr.sort((a, b) => (a.rooms - b.rooms) || (a.square - b.square));
// или, в более общем виде
const sort = (arr, ...keys) =>
arr.sort((a, b) => {
let diff = 0;
keys.find(k => diff = a[k] - b[k]);
return diff;
});
sort(arr, 'rooms', 'square');
const sorted = (arr, keys) => arr
.map(n => [ n ].concat(keys(n)))
.sort((a, b) => {
let diff = 0;
for (let i = 0; ++i < a.length && !(diff = a[i] - b[i]);) ;
return diff;
})
.map(n => n[0]);
const sortedArr = sorted(arr, n => [ n.rooms, n.square ]);
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function (s) {
//hash function for partheses
let map = { "}": "{", "]": "[", ")": "(" };
let temp = [];
//Iterates
for(i in s){
//if a index that matches a closing bracket - continue
if(s[i] in map){
//if the temp isn't empty, and the top of the stack is that closing bracket - pop it
if(temp.length > 0 && temp[temp.length-1] === map[s[i]]){
temp.pop();
}
//else we break it - return false
else{
return false;
}
}
//else we push the opening bracket onto the stack
else{
temp.push(s[i]);
}
}
//else we return true if the temp is empty
return temp.length === 0;
};
в песочнице работает без ошибокА чего бы ему ошибаться? Песочница типы не проверяет, только компилирует TS в JS, чтобы его можно было исполнить.
const lists = [[1,4,5],[1,3,4],[2,6]]
function mergeKLists(lists) {
if(lists.length) return lists.flat(Infinity)
return null
};
console.log(mergeKLists(lists))
[[1,4,5],[1,3,4],[2,6]].flat(Infinity)
lists
ерунда содержится:Function.prototype.bind = function bind(ctx, ...args) {
const originalFunction = this;
return function (...args2) {
return originalFunction.apply(ctx, args.concat(args2));
};
}
Как видите, возвращаемая функция уже никак не использует свой this.Почему мои поиски в попытках найти логику хука провалилисьКто ж вас знает ¯\_(ツ)_/¯
как выйти на следЯ поиском по репе на Гитхабе воспользовался: https://github.com/facebook/react/blob/6f18664b82b...
git clone --recurse-submodules
Развернет ваш проект со всеми вложенными репозиториями .gitignore
/server/
/client/
/db/
git rm -r --cached server
git rm -r --cached client
git rm -r --cached db
git add .
CREATE INDEX name_idx ON users (lower(name));