Skip to content

Instantly share code, notes, and snippets.

# https://www.hackerrank.com/challenges/coin-change/problem
def cc_dp(target, coins):
current = [0] * (target + 1)
current[0] = 1
prev = current[:]
for c in coins:
for t in xrange(target + 1):
@shawnchin
shawnchin / palette_pubu.py
Created February 17, 2017 08:34
Colour Palettes
colours = [(255.0, 245.0, 250.0),
(255.0, 244.0, 253.0),
(253.0, 244.0, 255.0),
(249.0, 244.0, 255.0),
(244.0, 243.0, 255.0),
(243.0, 245.0, 255.0),
(242.0, 249.0, 255.0),
(242.0, 253.0, 254.0),
(242.0, 254.0, 251.0),
(241.0, 254.0, 246.0),
@shawnchin
shawnchin / Lex Font.ttf
Last active October 14, 2016 13:36
Cat Showroom
@shawnchin
shawnchin / twistedweb_resource_wrapper.py
Created June 3, 2013 16:47
Wrapper for twisted.web.resource to apply basic authentication using a dict of usernames/passwords.
from zope.interface import implements
from twisted.internet.defer import succeed, fail
from twisted.cred.error import UnauthorizedLogin
from twisted.cred.credentials import IUsernamePassword
from twisted.cred.checkers import ICredentialsChecker
from twisted.cred.portal import IRealm, Portal
from twisted.web.resource import IResource
from twisted.web.guard import BasicCredentialFactory, HTTPAuthSessionWrapper
from twisted.web.static import File
@shawnchin
shawnchin / pygment_fortran_lexer.py
Last active December 14, 2015 04:49
Alternative PythonLexer for pygments that attempts to address other Fortran standards (not just Fortran 90).
# Description: Alternative Fortran Lexer for pygments that
# attempts to address other Fortran standards (not just
# Fortran 90 as provided by the official lexer).
#
# Author: Shawn Chin
# Homepage: https://gist.github.com/shawnchin/5031105
#
import re
Index: flame2/api/Makefile.am
===================================================================
--- flame2/api/Makefile.am (revision 977)
+++ flame2/api/Makefile.am (working copy)
@@ -15,7 +15,9 @@
# Note: flame2.h is installed by the master Makefile.am
-module_sources =
+# compile dummy file so "ar" on OSX does not choke on empty archive
@shawnchin
shawnchin / gist:4124184
Created November 21, 2012 10:33
location
(undecided)
@shawnchin
shawnchin / using_kdtree.c
Created July 12, 2012 12:07
Usage example of kd3
#include "kd3/kdtree.h"
void some_function(void) {
double *x, *y, *z; /* array of points */
size_t i, j; /* loop indices */
x = malloc(sizeof(double) * SIZE);
y = malloc(sizeof(double) * SIZE);
z = malloc(sizeof(double) * SIZE);
@shawnchin
shawnchin / gist:3082329
Created July 10, 2012 09:41
pseudocode of answer for SO question 11409942
# http://stackoverflow.com/questions/11409942/function-subseq-python-need-thoughts
function is_sub(s1, s2):
let L1 be the length of s1 and L2 the length of s2
1. if L2 > L1, s2 is definitely not a subset of s1, so return False
2. if the first L2 elements in s1 equals to s2, then s2 is a subset. return True.
3. otherwise, make a recusive call to determine if s2 is a subset of s1[1:] and return the result.
p.s. You might find the slice notation useful. See http://stackoverflow.com/a/509295/115845
class VectorWrapperBase {
public:
virtual ~VectorWrapperBase() {}
virtual void reserve(unsigned int n) = 0;
virtual VectorWrapperBase* clone() const = 0;
};
inline VectorWrapperBase* new_clone(const VectorWrapperBase& a) {
return a.clone();
}