Skip to content

Instantly share code, notes, and snippets.

View Bablzz's full-sized avatar
💭
Quality is remembered long after the price is forgotten (Sir Frederick Royce)

Maksim Sokolnikov Bablzz

💭
Quality is remembered long after the price is forgotten (Sir Frederick Royce)
View GitHub Profile
@Bablzz
Bablzz / utf16.go
Last active February 9, 2024 06:58
Convert string UTF-8 to UTF-16LE golang
const BOM = '\ufffe' //LE. for BE '\ufeff'
func createFile(name string) error {
var bytes [2]byte
data := `test string UTF-8`
file, err := os.Create(name)
if err != nil {
fmt.Errorf("Can't open file. %v", err)
return err
@Bablzz
Bablzz / bs.rb
Last active October 27, 2020 16:10
binary search
# Best O(1)
# Worst O(long n)
arr = [1,2,3,4,5,6,7,10]
def bs (list, elem)
low = 0
high = list.length
@Bablzz
Bablzz / Queue_bfs.rb
Last active October 13, 2020 14:14
breadth-first search, BFS
# O(|V|+|E|)
graph = Hash.new
graph["you"] = ["alice", "bob", "claire"]
graph["bob"] = ["anuj", "peggy"]
graph["alice"] = ["peggy"]
graph["claire"] = ["thom", "jonny"]
graph["anuj"] = []
graph["peggy"] = []
graph["thom"] = []
@Bablzz
Bablzz / bubble_sort.go
Last active October 13, 2020 14:06
Bubble sort
package main
// worst n^2
// best n
import (
"fmt"
)
func main() {
arr := []int{2,5,4,-8,9,1}
@Bablzz
Bablzz / example.md
Last active March 26, 2020 07:32
Some reason do not build docker by Packer
  1. Packer change entrypoint. This is obscure if you are just trying packer. You can read this here

  2. Packer doesn't work with scratch/distroless images(and another without bash) If your docker image has no bash packer does not build your image. See here

  3. Packer has no some docker command like copy. See here

@Bablzz
Bablzz / fib_memo.rb
Last active December 13, 2019 13:32
Fibonacci with memoization
memo = Hash.new(0)
def fib_rec (number, memo)
if number == 0
return number
elsif (number == 1) || (number == 2)
return 1
end
if (memo.has_key?(number))
return memo[number]
@Bablzz
Bablzz / insertion_sort.rb
Created December 13, 2019 13:30
Insertion sort
# O(n^2)
def insertion_sort arr
i = 0
j = 0
for i in 1...(arr.length) do
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j] do
arr[j + 1] = arr[j]
@Bablzz
Bablzz / tower.py
Created November 20, 2019 11:52
Tower of Hanoi
def solve(n, a, b, c):
if n > 0:
solve(n - 1, a, c, b)
print('Move disk from ' + a + ' to disk ' + b)
solve(n - 1, c, b, a)
solve(3, '1', '2', '3')
@Bablzz
Bablzz / sieve.py
Last active October 30, 2019 07:28
Sieve of Eratosthenes
# O(n log(log n))
arr = list(range(0, 300))
def sieve(ar):
for i in ar:
if i > 1:
step = arr[i]
while (arr[i] + step) < len(arr):
@Bablzz
Bablzz / simple.py
Last active October 23, 2019 11:24
Check if digit is simple
def is_simple(digit):
for i in range(2, digit - 1):
if ((digit % i) == 0):
return False
else:
return True
print(is_simple(72)) # False
print(is_simple(73)) # True