Skip to content

Instantly share code, notes, and snippets.

View cbdavide's full-sized avatar

David Castelblanco cbdavide

View GitHub Profile
@cbdavide
cbdavide / First script
Created April 13, 2016 23:47
Prints even numbers, and odd numbers
#!/bin/bash
re='^-?[0-9]+([.][0-9]+)?$'
if ! [[ $2 =~ $re ]] ; then
echo "El parámetro inicial NO es un número."
exit
fi
if ! [[ $3 =~ $re ]] ; then
echo "El parámetro final NO es un número."
exit
@cbdavide
cbdavide / MergeSort.js
Last active May 17, 2016 16:03
Merge sort algorithm in javascript
var merge_sort = function(array, b, e){
if(b < e) {
var m = Math.floor((b + e) / 2);
//Recursive stuff
merge_sort(array, b, m);
merge_sort(array, m+1, e);
//Merge stuff
var lower = [],
higher = [];
@cbdavide
cbdavide / heapsort.py
Created December 30, 2016 20:02
Heap sort algorithm, using the binary heap, and bitmask operators
class Heap:
def __init__(self, arr):
self.cont = arr
self.size = len(self.cont) - 1
self.buildheap()
def left(self, i):
return (i << 1) + 1
def right(self, i):
# Tree representation
class Node:
def __init__(self, val):
self.data = val
self.right = None
self.left = None
def recursive_inorder(node):
if not node:
return
@cbdavide
cbdavide / Longest Increasing Subsequence.cpp
Last active July 27, 2017 23:54
Longest Increasing Subsequence
typedef vector<int> vi;
/**
* LONGEST INCREASING SUBSEQUENCE
* COMPLEXITY O(N^2)
*/
int lci(vi &A) {
vi DP (A.size(), 1);
for(int i=1; i<(int)A.size(); i++) {
for(int j=0; j<i; j++) {
@cbdavide
cbdavide / primality-test.cpp
Created August 8, 2017 02:50
Tests de primalidad
#include <cstdio>
using namespace std;
typedef long long ll;
/**
* O(n)
*/
bool esPrimoLineal(ll n, ll &contador) {
contador = 0LL;
@cbdavide
cbdavide / render
Created October 21, 2017 03:34
Renderer
from jinja2 import Template
with open('template.tpl') as file:
text = file.read()
template = Template(text)
new = template.render(slide={'num': 1, 'name': 'a'})
with open('out', 'w') as output:
@cbdavide
cbdavide / code.py
Created October 31, 2017 11:52
Maximum subarray product.py
''''Maximum Subarray Problem - Extended Kadane
Source: https://www.quora.com/How-do-I-solve-maximum-product-subarray-problems
'''
def max_product(A):
maxG, maxC, minC = A[0], A[0], A[0]
for num in A:
temp = maxC
maxC = max([num, temp * num, minC * num])
@cbdavide
cbdavide / solution.cpp
Created September 4, 2018 23:20
UVA 10168
#include <bits/stdc++.h>
using namespace std;
template <class T> int size(const T &x) {return x.size();}
template <class T> T mod(T a, T b) { return (b + (a % b)) % b;}
#define F first
#define S second
#define PB push_back
#define endl '\n'
@cbdavide
cbdavide / 10325.cpp
Created September 5, 2018 00:45
UVA - 10325 The Lottery
#include <bits/stdc++.h>
using namespace std;
template <class T> int size(const T &x) {return x.size();}
template <class T> T mod(T a, T b) { return (b + (a % b)) % b;}
#define F first
#define S second
#define PB push_back
#define endl '\n'