Skip to content

Instantly share code, notes, and snippets.

@flexelem
flexelem / minHeap.java
Created Jun 8, 2014
A min heap implementation in java.
View minHeap.java
import java.util.ArrayList;
public class MinHeap {
private ArrayList<Integer> list;
public MinHeap() {
this.list = new ArrayList<Integer>();
}
View template.yml
Resources:
costapi8876B5F2:
Type: AWS::ApiGateway::RestApi
Properties:
EndpointConfiguration:
Types:
- EDGE
Name: cost-api
Metadata:
aws:cdk:path: CostApiAlfa/cost-api/Resource
View cost-api-stack.ts
import {
CfnParameter, Construct, Stack, StackProps,
} from '@aws-cdk/core';
import * as lambda from '@aws-cdk/aws-lambda';
import * as apigateway from '@aws-cdk/aws-apigateway';
import * as iam from '@aws-cdk/aws-iam';
import * as secretsmanager from '@aws-cdk/aws-secretsmanager';
import { ApiStackProps } from './entity';
export class CostApiStack extends Stack {
@flexelem
flexelem / DoubleStack.java
Last active Feb 20, 2020
Two stacks in one array
View DoubleStack.java
import java.util.NoSuchElementException;
/**
* CLRS - Introduction to Algorithms Ex.10.1-2
* Explain how to implement two stacks in one array A[1..n] in such a way that
* neither stack overflows unless the total number of elements in both stacks together is n.
* The PUSH and POP operations should run in O(1) time.
*
* There are two stacks in one array which the first one grows upwards ( A[1..N] ),
* and the second one grows downwards ( A[N..1] ).
View AWS Lambda email parser
var AWS = require("aws-sdk");
var simpleParser = require("mailparser").simpleParser;
var s3 = new AWS.S3();
exports.handler = async (event, context, callback) => {
console.log("Invoked Lambda");
const mail = event.Records[0].ses.mail;
console.log("Mail");
@flexelem
flexelem / FindCommonElementsInTwoArrays.java
Created Jun 13, 2014
Find common elements out of two sorted array
View FindCommonElementsInTwoArrays.java
import java.util.ArrayList;
public class FindCommonElementsInTwoArrays {
public ArrayList<Integer> findCommonElementsOfTwoArray(int[] array1, int[] array2) {
int[] larger = array1;
int[] smaller = array2;
if (array1.length < array2.length) {
@flexelem
flexelem / ComputeSCC.java
Created May 19, 2014
Kosaraju's algorithm to find Strongly Connected Components
View ComputeSCC.java
package compute_strongly_connected_components;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Stack;
public class ComputeSCC {
View gist:dceed4fae51099df1b58
### Keybase proof
I hereby claim:
* I am flexelem on github.
* I am buraktas (https://keybase.io/buraktas) on keybase.
* I have a public key whose fingerprint is 7A85 0AFA 2966 A9D3 4373 47ED D57B 4F5E 6010 4B7C
To claim this, I am signing this object:
@flexelem
flexelem / Dictionary.java
Created Aug 17, 2014
Prefix tree written by using Trie. Supports find prefixes in O(n.m.k) where k is length of the prefix and O(n.m) comes from Depth First Search
View Dictionary.java
import java.util.ArrayList;
import java.util.Map.Entry;
import java.util.Set;
public class Dictionary {
private TrieNode root;
public Dictionary() {
root = new TrieNode(null);
@flexelem
flexelem / Quicksort.java
Last active Aug 29, 2015
Quicksort algorithm in java
View Quicksort.java
import java.util.Random;
public class RandomizedQuickSort {
public void quickSort(int[] numbers, int low, int high) {
if (low < high) {
// select pivot randomly
int q = randomizedPartition(numbers, low, high);