Skip to content

Instantly share code, notes, and snippets.

@dmnugent80
dmnugent80 / MaxProfitSellingStocks.java
Last active November 8, 2018 19:21
Best Time to Buy and Sell Stock
import java.lang.Math;
public class Solution {
public int maxProfit(int[] prices) {
if (prices.length <= 1) return 0;
int minPrice = prices[0];
int maxSoFar = Integer.MIN_VALUE;
int profitSoFar = Integer.MIN_VALUE;
@dmnugent80
dmnugent80 / FlattenTreeInOrder.java
Created February 15, 2015 20:43
Flatten Tree In-Order
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
@dmnugent80
dmnugent80 / MaxDepthFromRootBinaryTree.java
Last active August 29, 2015 14:15
Get Max Depth of Binary Tree from root
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
@dmnugent80
dmnugent80 / ReturnSumOfPathBinaryTree.java
Created February 15, 2015 21:17
Sum Root to Leaf Numbers
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
@dmnugent80
dmnugent80 / ReverseInteger.java
Last active August 29, 2015 14:15
Reverse an integer
public class Solution {
public int reverse(int x) {
long rev = 0;
while(x != 0){
rev = rev*10 + x%10;
x = x/10;
}
return (int)rev;
}
@dmnugent80
dmnugent80 / TowerOfHanoi.java
Last active August 29, 2015 14:15
Tower of Hanoi
public class MainClass {
public static void main(String[] args) {
int nDisks = 3;
doTowers(nDisks, 1, 2, 3);
}
public static void doTowers(int topN, int from, int inter, int to) {
if (topN == 1){
System.out.println("Disk 1 from " + from + " to " + to);
}else {
@dmnugent80
dmnugent80 / MergeSort.java
Created February 17, 2015 04:54
Merge Sort
void mergeSort(int[] array){
int[] helper = new int[array.length];
mergeSort(array, helper, 0, array.length - 1);
}
void mergeSort(int[] array, int[] helper, int low, int high){
if (low < high){
int middle = (low + high) / 2;
mergeSort(array, helper, low, middle);
mergeSort(array, helper, middle + 1, high);
@dmnugent80
dmnugent80 / QuickSort.java
Last active August 29, 2015 14:15
Quick Sort
public void swap(int[] A, int x, int y){
int temp = A[x];
A[x] = A[y];
A[y] = temp;
}
public void quickSort(int[] A, int first, int last){
if (first >= last){
return;
}
@dmnugent80
dmnugent80 / RegEx.java
Last active August 29, 2015 14:15
Regex phone numbers and emails
//emails:
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b
//phone numbers:
\(?\d{3}\)?-? *\d{3}-? *\d{4}
String s = "*** [email protected]&&^ [email protected]((& ";
Matcher m = Pattern.compile("[a-zA-Z0-9_.+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9-.]+").matcher(s);
while (m.find()) {
System.out.println(m.group());
@dmnugent80
dmnugent80 / IsBalancedBST.java
Last active August 29, 2015 14:15
Is BST Balanced
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {