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 / dockerfile_spec.rb
Created August 8, 2018 14:49
Test dockefile with ruby/docker-api/serverspec
require "serverspec"
require "docker"
package = ['rake', 'pg']
describe "Dockerfile" do
before(:all) do
@image = Docker::Image.build_from_dir('.', {'dockerfile'=>'Dockerfile'})
@image.tag(repo: 'image-test', tag: 'latest').
@Bablzz
Bablzz / s_sort.rb
Last active August 8, 2018 14:51
selection sort
arr = [9,81,-9,3,0,12,-10]
def find_min(list)
min = list[0]
index = 0
list.each_with_index do |val, i|
if val < min
min = val
index = i
end
@Bablzz
Bablzz / dijkstra.rb
Created July 1, 2019 14:06
dijkstra's_algorithm
graph = {}
graph['start'] = Hash.new
graph['start']['a'] = 6
graph['start']['b'] = 2
graph['a'] = Hash.new
graph['a']['fin'] = 1
graph['b'] = Hash.new
graph['b']['a'] = 3
graph['b']['fin'] = 5
@Bablzz
Bablzz / Luhn.rb
Last active July 3, 2019 11:57
Luhn algorithm
def sum_digits digit
if digit < 10
digit
else
(digit % 10) + (digit / 10).to_f
end
end
def validate number
number = number.to_s.reverse.to_i
@Bablzz
Bablzz / greedy.rb
Last active July 9, 2019 10:01
Greedy algorithm
# Set cover problem
states = ['mt', 'wa', 'or', 'id', 'nv', 'ut', 'ca', 'az'].uniq
station = {}
station["kone"] = ['id', 'nv', 'ut'].uniq
station["ktwo"] = ['mt', 'wa', 'id'].uniq
station["kthree"] = ['or', 'nv', 'ca'].uniq
station["kfour"] = ['nv', 'ut'].uniq
station["kfive"] = ['ca', 'az'].uniq
@Bablzz
Bablzz / Fib.rb
Created July 10, 2019 07:43
Fibonacci recursion and non recursion
def fib_rec (number)
if number == 0
return number
elsif (number == 1) || (number == 2)
return 1
end
fib_rec(number - 1) + fib_rec(number - 2)
end
def fib_non_rec (number)
@Bablzz
Bablzz / caesar.go
Last active September 16, 2019 07:48
Caesar cypher
package main
import "fmt"
var mes = "test cypeher with digit 6"
func main() {
bs := ([]byte)(mes)
cyp := make([]byte, len(bs))
j := 0
@Bablzz
Bablzz / max.go
Last active September 18, 2019 08:51
Max digit without condition
package main
import (
"fmt"
"math"
)
func main() {
a := 32
b := -44
@Bablzz
Bablzz / fibonacci.rb
Last active September 18, 2019 09:02
Fibonacci Binet
fib = 9
def BinetFib number
phi = ((1 + Math.sqrt(5)) / 2) #or 1.6180339887
divid = phi**number
divider = Math.sqrt(5)
(divid / divider).round
end
puts BinetFib(fib);
@Bablzz
Bablzz / puzzles.rb
Last active September 25, 2019 07:45
small_puzzles.rb
digit = 543210
# Reverse digit
def reverse_digit(digit)
str = digit.to_s.reverse.split('')
if str.first == '0'
str.shift
end
str.join('').to_i
end