Skip to content

Instantly share code, notes, and snippets.

View martin-minarik's full-sized avatar

Martin Minařík martin-minarik

  • Havířov, Czech Republic cz
View GitHub Profile
@martin-minarik
martin-minarik / btree_traversal.py
Last active June 11, 2024 22:03
Lazy traversal of a binary tree using a "yield" keyword
from typing import Literal
def inorder_traversal(btree):
if not btree:
return
yield from inorder_traversal(btree[0])
yield btree[1]
yield from inorder_traversal(btree[2])
@martin-minarik
martin-minarik / fizzbuzz.py
Created August 27, 2023 22:31
FizzBuzz without using explicit "if"
def fizzbuzz(number):
"""
Return 'Fizz' if `num` is divisible by 3,
return 'Buzz' if `num` is divisible by 5,
return 'FizzBuzz' if `num` is divisible both by 3 and 5.
If `num` isn't divisible neither by 3 nor by 5, return `number`.
Example:
fizzbuzz(3) # Fizz
#include <iostream>
#include <algorithm>
using namespace std;
int levenshtein_distance(const string &str_a, const string &str_b)
{
if (str_a.empty())
return str_b.length();
@martin-minarik
martin-minarik / main.cpp
Created June 12, 2024 00:12
HTML tag parity checking
#include <iostream>
#include <stack>
#include <regex>
using namespace std;
void print_tags(string text);
bool is_start_tag(const string &element);
@martin-minarik
martin-minarik / main.cpp
Created June 12, 2024 00:14
Graham Scan algorithm
#include <iostream>
#include <vector>
#include <algorithm>
#include <math.h>
#include <numeric>
using namespace std;
typedef struct Point_
{
#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
bool is_anagram(const string &str_a, const string &str_b)
{
unordered_map<char, int> chars_occurrences;
#include <iostream>
#include <utility>
#include <algorithm>
#include <list>
#include <iostream>
#include <map>
#include <stdexcept>
#include <vector>
#include <functional>
#include <queue>
@martin-minarik
martin-minarik / main.cpp
Created June 12, 2024 00:21
Robot Coin Collection
#include <iostream>
#include <bitset>
#include <vector>
#include <cassert>
using namespace std;
template<size_t bitset_size>
int robot_coin_collection(vector<bitset<bitset_size>> &coin_matrix) {
@martin-minarik
martin-minarik / main.cpp
Created June 12, 2024 00:37
Comparison counting sort
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
template<typename T>
vector<T> comparison_counting_sort(vector<T> &array, function<bool(T, T)> key_func) {
@martin-minarik
martin-minarik / main.py
Last active June 12, 2024 00:39
Polynomial
#include <iostream>
#include "polynomial.h"
using namespace std;
int main() {
{
cout << Polynomial {} << endl;
cout << (Polynomial) {-3} << endl;
cout << (Polynomial) {-2, 3} << endl;