Skip to content

Instantly share code, notes, and snippets.

@mailpraveens
mailpraveens / quicksort
Created October 2, 2013 19:30
Quick Sort implemetation in python
#First partition the input array into two groups
# Partitioning alogorithm creates smaller array with elements on left and
# right being smaller and greater than the pivot
def partiton(a, left, right):
i = left + 1 # Initialiase i to one more assuming pivot is at position left
pivot = a[left]
for j in range(left+1, right+1): #Iterate over the remaining array
if (a[j] < pivot):
@mailpraveens
mailpraveens / BFSandDFS.cpp
Created August 3, 2014 15:47
BFS and DFS implementation in C++
#include<iostream>
#include <list>
using namespace std;
class Graph {
int V;
list <int> * adj;
void DFSUtil(int v, bool visited[]); // A function used by DFS
@mailpraveens
mailpraveens / checkEmptyObject
Created August 20, 2014 11:15
Small snipped to check if a NSString, NSArray or any collection is empty, works for nil objects too.
static inline BOOL checkIfEmpty(id obj) {
return thing == nil ||
([obj respondsToSelector:@selector(length)] && [(NSData *)obj length] == 0) ||
([obj respondsToSelector:@selector(count)] && [(NSArray *)obj count] == 0);
}
@mailpraveens
mailpraveens / mergesort
Created August 18, 2013 12:44
Mergesort in python
# This is written after refering the CLRS book and hints from the site http://en.literateprograms.org/Merge_sort_(Python)
#The merge method takes in the two subarrays and creates a output array
def merge(left, right):
result = []
i , j = 0 , 0
while i < len (left) and j < len (right): # iterate through both arrays and arrange the elements in sorted order
if left[i] <= right [j]:
result.append(left[i])
i+=1
@mailpraveens
mailpraveens / fontFamilyNames
Created January 16, 2014 11:02
Code to print out all fonts in iOs 7 with actual font family names
for (NSString *familyName in [UIFont familyNames]) {
for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
NSLog(@"%@", fontName);
}
}
@mailpraveens
mailpraveens / battleship.py
Created August 6, 2013 19:44
Sample battle ship game during the python tutorial at codeacademy
from random import randint
board = []
for x in range(5):
board.append(["O"] * 5)
def print_board(board):
for row in board:
print " ".join(row)
@mailpraveens
mailpraveens / 0_reuse_code.js
Last active August 29, 2015 14:08
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
#include <iostream>
using namespace std;
#include <stdlib.h> /* qsort */
int compare (const void * a, const void * b) {
return ( *(int*)a - *(int*)b );
}
int main4()
{
#include <iostream>
using namespace std;
#include <stdlib.h> /* qsort */
int compare (const void * a, const void * b) {
return ( *(int*)a - *(int*)b );
}
int main()
{
@mailpraveens
mailpraveens / levenshteinDistance.py
Created March 21, 2014 08:02
Recursive program to find the levenshtein distance between two strings
def calculateLevenSteninDistance(a,b):
if not a: return len(b)
if not b: return len(a)
return min(calculateLevenSteninDistance(a[1:], b[1:])+(a[0] != b[0]), calculateLevenSteninDistance(a[1:], b)+1, calculateLevenSteninDistance(a, b[1:])+1)