Skip to content

Instantly share code, notes, and snippets.

View statox's full-sized avatar

Adrien Fabre statox

View GitHub Profile
const S = [1, 2, 3];
const n = 4;
const f = (S, n) => {
const stack = S.map((coin) => [coin]);
const permuts = new Set();
while (stack.length) {
const current = stack.shift();
const sum = current.reduce((s, c) => s + c);
const S = [1, 2, 3];
const n = 4;
const f = (S, n) => {
const stack = S.map((coin) => [coin]);
const permuts = new Set();
while (stack.length) {
const current = stack.shift();
const sum = current.reduce((s, c) => s + c);
@statox
statox / leetcode-add-two-numbers.js
Created June 21, 2021 14:00
Leetcode: Add two numbers
// https://leetcode.com/submissions/detail/508355858/
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} l1
@statox
statox / Victor.ts
Created January 25, 2021 10:52
A typescript vector classe that I use in codingame challenges
const degrees = 180 / Math.PI;
function radian2degrees (rad: number): number {
return rad * degrees;
}
function degrees2radian (deg: number): number {
return deg / degrees;
}
@statox
statox / SetVisualBlock.vim
Created May 23, 2019 09:49
A vimscript function to set a visual block selection
" Inspired by @ Christian Brabandt on this question https://vi.stackexchange.com/q/20066/1841
function! SetVisualBlock(start, end)
" Trigger visual block mode
execute "norm! \<C-v>\<Esc>"
" Set the marks
call setpos("'<", [ 0, a:start[0], a:start[1] ])
call setpos("'>", [ 0, a:end[0], a:end[1] ])
@statox
statox / actionlist.vim
Created November 6, 2018 19:45 — forked from zchee/actionlist.vim
IdeaVim actionlist
--- Actions ---
$Copy <M-C>
$Cut <M-X> <S-Del>
$Delete <Del> <BS> <M-BS>
$LRU
$Paste <M-V>
$Redo <M-S-Z> <A-S-BS>
$SearchWeb <A-S-G>
$SelectAll <M-A>
$Undo <M-Z>
" This is a test answer for https://vi.stackexchange.com/q/17423/1841
" <C-a>
nnoremap <Leader>a :call CoherentIncrement(1)<CR>
" <C-x>
nnoremap <Leader>b :call CoherentIncrement(0)<CR>
function! CoherentIncrement(inc)
let save_cursor = getcurpos()
function! MakeNewLine()
if getline(line('.')) =~# "^\s*>.*$"
normal! o>
else
normal! o
endif
endfunction
inoremap <cr> <C-o>:call MakeNewLine()<cr>
@statox
statox / multimedia.sh
Last active April 9, 2017 18:39
Install multimedia system
## Install seedbox system for several users with
## Transmission
## Sonarr
## Headphones
##
## Debian 8
# References:
# DOCKER INSTALL - https://docs.docker.com/engine/installation/linux/debian/
# SHIPYARD (docker management) - https://github.com/shipyard/shipyard
@statox
statox / pinFold.vim
Last active November 23, 2016 16:39
Playing with vim folds
augroup pythonFold
autocmd BufReadPre *.py setlocal foldmethod=indent
autocmd CursorMovedI *.py call PinFold()
autocmd CursorMoved *.py call PinFold()
augroup END
function! PinFold()
" save current position
let saveCursor = getcurpos()