Skip to content

Instantly share code, notes, and snippets.

View sreeprasad's full-sized avatar

Sreeprasad sreeprasad

  • BlackRock
  • New York
View GitHub Profile
@sreeprasad
sreeprasad / WordBreak
Created September 24, 2014 03:21
Word Break
import java.util.Map;
import java.util.HashMap;
public class Solution {
public boolean wordBreak(String s, Set<String> dict) {
if( (dict.size()==0)||(s.length()==0))
return false;
if(s.length()==1 && !dict.contains(s))
@sreeprasad
sreeprasad / AddTwoNumbers
Created September 24, 2014 11:04
Adding Two LinkedList Numbers
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
@sreeprasad
sreeprasad / SetMatrixZero
Created September 24, 2014 11:14
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.
public void setZeroes(int[][] matrix) {
boolean firstRow =false,firstCol=false;
for(int i=0;i<matrix.length;i++){
if(matrix[i][0]==0){
firstCol=true;
break;
}
}
@sreeprasad
sreeprasad / ValidParenthesis
Created September 25, 2014 00:35
Valid Parenthesis Test
public class Solution {
public boolean isValid(String s) {
if(s==null){
return false;
}else if( s.length()==0 ){
return true;
}else if( (s.length()%2)!=0 ){
return false;
}
Stack<Character> st = new Stack<Character>();
@sreeprasad
sreeprasad / MedianOfArraysDiffLength
Created September 26, 2014 10:58
Median of two arrays of different length
public double findMedianSortedArrays(int A[], int B[]) {
int M= A.length;
int N= B.length;
int mid = (M+N)/2;
if(M<=N)
return median(A,B,Math.max(0,mid-N),Math.min(M-1,mid));
else
@sreeprasad
sreeprasad / TwoSum
Created October 4, 2014 17:27
Two Sum
public int[] twoSum(int[] numbers, int target) {
int [] index = new int[2];
if(numbers.length==0)
return index;
int N = numbers.length;
HashMap<Integer,Integer> map = new HashMap<Integer, Integer>();
for(int i=0;i<N;i++){
map.put(numbers[i],i);
}
for(int i=0;i<N;i++){
public static List<List<Integer>> trip(int[] num) {
List<List<Integer>> result = new ArrayList<List<Integer>> ();
ArrayList<Integer> sol = new ArrayList<Integer>();
if(num.length==0 || num.length<3){
return result;
}
Arrays.sort(num);
for(int i=0;i<num.length;i++){
int target = 0-num[i];
int st = i+1;
@sreeprasad
sreeprasad / 3SumClosest.java
Created October 5, 2014 12:29
3SumClosest
public int threeSumClosest(int[] num, int target) {
if( (num==null) || (num.length<3) ){
return target;
}
Arrays.sort(num);
int diff= Integer.MAX_VALUE;
int closest =0;
for(int i=0;i<num.length;i++){
int st=i+1;
int end=num.length-1;
@sreeprasad
sreeprasad / BestTime
Created November 11, 2014 10:55
Best Time to Buy and Sell Stock
public int maxProfit(int[] prices) {
int min = Integer.MAX_VALUE;
int maxProfit=0;
for(int i=0;i<prices.length;i++){
if(min>prices[i]){
min=prices[i];
}
if( (prices[i]-min)>maxProfit ){
maxProfit = prices[i]-min;
}
@sreeprasad
sreeprasad / BuySellStockTwo
Created November 11, 2014 10:59
Best Time to Buy and Sell Stock II
public int maxProfit(int[] prices) {
int maxProfit=0;
for(int i=1;i<prices.length;i++){
if( (prices[i]-prices[i-1])>0 ){
maxProfit += prices[i]-prices[i-1];
}
}
return maxProfit;
}