Skip to content

Instantly share code, notes, and snippets.

@dmnugent80
dmnugent80 / MaximumSubarray.java
Created March 2, 2015 04:09
Maximum Subarray
public class Solution {
public int maxSubArray(int[] A) {
int maxSoFar = A[0];
int sumSoFar = A[0];
for (int i = 1; i < A.length; i++){
sumSoFar = sumSoFar + A[i];
sumSoFar = Math.max(sumSoFar, A[i]);
maxSoFar = Math.max(sumSoFar, maxSoFar);
}
return maxSoFar;
@dmnugent80
dmnugent80 / PascalTriangle.java
Created March 1, 2015 20:50
Pascal's Triangle
public class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> allRows = new ArrayList<List<Integer>>();
ArrayList<Integer> row = new ArrayList<Integer>();
for (int i = 0; i < numRows; i++){
row.add(0, 1);
for (int j = 1; j < row.size()-1; j++){
row.set(j, row.get(j) + row.get(j+1));
}
allRows.add(new ArrayList<Integer>(row));
@dmnugent80
dmnugent80 / BinaryTreeIterativeInOrder.java
Created March 1, 2015 20:30
Binary Tree Iterative In Order Traversal
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public class Solution {
public void rotate(int[][] matrix) {
int n = matrix.length-1;
if (n == 0) return;
for (int i = 0; i <= n/2; i++){
for (int j = i; j < n-i; j++){
int temp = matrix[i][j];
matrix[i][j] = matrix[n-j][i];
matrix[n-j][i] = matrix[n-i][n-j];
@dmnugent80
dmnugent80 / IsSymmetricBinaryTree.java
Created March 1, 2015 19:16
Is Symmetric Binary Tree
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
@dmnugent80
dmnugent80 / IsSameBinaryTree.java
Created March 1, 2015 19:01
Is Same Binary Tree
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
@dmnugent80
dmnugent80 / BuyAndSellStockTwoTransactions.java
Created March 1, 2015 18:37
Best Time to Buy and Sell Stock, max two transactions
public class Solution {
public int maxProfit(int[] prices) {
if (prices.length == 0) return 0;
int[] rearProfits = new int[prices.length];
int maxPrice = prices[prices.length-1];
int maxProfit = 0;
int price = 0;
for (int i = prices.length-2; i >= 0; i--){
price = prices[i];
@dmnugent80
dmnugent80 / RotateLinkedList.java
Last active August 29, 2015 14:16
Rotate Linked List
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
@dmnugent80
dmnugent80 / InsertAndMergeInterval.java
Last active August 29, 2015 14:16
Insert and Merge Interval
/**
* Definition for an interval.
* public class Interval {
* int start;
* int end;
* Interval() { start = 0; end = 0; }
* Interval(int s, int e) { start = s; end = e; }
* }
*/
public class Solution {
@dmnugent80
dmnugent80 / RotateArrayInPlace.java
Created March 1, 2015 00:43
Rotate Array In-Place
public class Solution {
public void rotate(int[] nums, int k) {
if (k == 0) return;
k = k % nums.length;
reverse(nums, 0, nums.length-1);
reverse(nums, 0, k-1);
reverse(nums, k, nums.length-1);