Skip to content

Instantly share code, notes, and snippets.

# a million commits
for Y in {2017..2018}
do
mkdir $Y
cd $Y
for M in {01..12}
do
mkdir $M
cd $M
for D in {01..10}
@shahzadaazam
shahzadaazam / distance.py
Created December 20, 2018 09:09
Python script to read start point and destination coordinates from an input csv file and using the Google Maps Distance Matrix Api to get travel distances and times and store it in an output csv file
import requests
import csv
lat_start = ""
long_start = ""
long_end = ""
lat_end = ""
status = ""
destination_address = ""
@shahzadaazam
shahzadaazam / Permutation.java
Created January 4, 2019 10:16
Leetcode Q.46: Given a collection of distinct integers, return all possible permutations.
class Permutation {
List<List<Integer>> globalList = new ArrayList<>();
public List<List<Integer>> permute(int[] nums) {
List<List<Integer>> permutations = new ArrayList<>();
List<Integer> numbers = new ArrayList<>();
for (int i : nums) {
@shahzadaazam
shahzadaazam / PermuteString.java
Created January 4, 2019 10:40
Write a program to print all permutations of a given string
import java.util.*;
class PermuteString {
public static void main(String[] args) {
String abc = "ABC";
System.out.println(Solution.permutation(abc));
}
}
class Solution {
@shahzadaazam
shahzadaazam / Knapsack.java
Created January 22, 2019 07:49
Bounded Knapsack Problem
public class Knapsack {
public static void main(String[] args) {
int val[] = new int[]{0, 60, 100, 120};
int wt[] = new int[]{0, 10, 20, 30};
int W = 50;
int n = val.length-1;
System.out.println(Knapsack.knapsack(wt, val, W, n));
}
@shahzadaazam
shahzadaazam / Knapsack.java
Created January 22, 2019 08:02
Unbounded Knapsack Problem with Memoization
public class Knapsack {
public static void main(String[] args) {
int val[] = new int[]{0, 60, 100, 120};
int wt[] = new int[]{0, 10, 20, 30};
int W = 50;
int n = val.length-1;
int[][] memo = new int[n+1][W+1];
@shahzadaazam
shahzadaazam / Mergesort.java
Last active October 27, 2020 06:00
Mergesort recursive algorithm
public class MergeSort {
public static void main (String args[]) {
int[] arr = new int[]{5, 2, 3, 1, 4};
int[] helperArr = new int[arr.length];
mergeSort(arr, helperArr, 0, arr.length-1);
for (int i : arr) {
System.out.print(i + " ");
}
@shahzadaazam
shahzadaazam / Quicksort.java
Created November 9, 2020 04:44
Quicksort recursive implementation
class Quicksort {
public static void main(String[] args) {
int[] arr = new int[]{4, 6, 2, 3, 5, 8, 9, 1};
quicksort(arr, 0, arr.length-1);
printArr(arr);
}
public static void quicksort(int[] arr, int left, int right) {
if (left < right) {
int pivot = arr[(left + right)/2];
@shahzadaazam
shahzadaazam / BinarySearch.java
Created November 9, 2020 05:17
Binary search recursive implementation
class BinarySearch {
public static void main(String[] args) {
int[] arr = new int[]{1, 2, 3, 4, 5};
System.out.println(binarySearch(arr, 0, arr.length-1, 5));
}
public static boolean binarySearch(int[] arr, int left, int right, int num) {
if (left <= right) {
int mid = (left + right) / 2;
@shahzadaazam
shahzadaazam / BinarySearch.java
Created November 9, 2020 06:37
Binary search iterative solution
class BinarySearch {
public static void main(String[] args) {
int[] arr = new int[]{1, 2, 3, 4, 5};
System.out.println(binarySearch(arr,4));
}
public static boolean binarySearch(int[] arr, int num) {
int low = 0;
int high = arr.length-1;