[LintCode] Best Time to Buy and Sell Stock II
public int maxProfit(int[] prices) { // write your code here int max = 0; for(int i = 1; i < prices.length; i++) { if(prices[i] – prices[i-1] > 0) max += prices[i] – prices[i-1]; } return max; }
public int maxProfit(int[] prices) { // write your code here int max = 0; for(int i = 1; i < prices.length; i++) { if(prices[i] – prices[i-1] > 0) max += prices[i] – prices[i-1]; } return max; }
public void sortNutsAndBolts(String[] nuts, String[] bolts, NBComparator compare) { // write your code here sort(nuts,bolts,0,nuts.length-1, compare); } public void sort(String[] nuts, String[] bolts, int l, int h, NBComparator compare) { if(l < h){ int p = partition(nuts, l,h, bolts[h], compare); partition(bolts, l,h,nuts[p], compare); sort(nuts, bolts, l, p-1,compare); sort(nuts, bolts, p+1, h,compare); } } public int […]
public int countOnes(int num) { // write your code here int res = 0; for(int i = 0 ; i < 32; i++) { if((num & (1<<i)) != 0) res++; } return res; }
public int maxDepth(TreeNode root) { // write your code here if(root == null) return 0; return Math.max(maxDepth(root.left), maxDepth(root.right))+1; }
public int singleNumber(int[] A) { if (A.length == 0) { return 0; } int n = A[0]; for(int i = 1; i < A.length; i++) { n = n ^ A[i]; } return n; }
public String longestPalindrome(String s) { // Write your code here if(s.length() == 0 || s == null) return “”; int start = 0; int end = 0; for(int i = 0; i < s.length(); i++) { int len1 = expand(s, i, i); int len2 = expand(s, i, i+1); int len = Math.max(len1, len2); if(len > […]
public int numIslands(boolean[][] grid) { // Write your code here if(grid == null) return 0; int res = 0; for(int i = 0 ; i < grid.length; i++) { for(int j = 0; j < grid[0].length; j++) { if(grid[i][j]) res++; dfs(grid,i,j); } } return res; } public void dfs(boolean[][] m, int i, int j) { […]
public boolean isValidParentheses(String s) { // Write your code here Stack<Character> st = new Stack<Character>(); if(s.length() == 0 || s == null) return false; for(int i = 0 ; i < s.length(); i++) { if(s.charAt(i) == ‘(‘ || s.charAt(i) == ‘[‘ || s.charAt(i) == ‘{‘) st.push(s.charAt(i)); else{ if(st.isEmpty()) return false; if(s.charAt(i) == ‘)’ && st.peek() […]