队列
文章平均质量分 73
sjphiChina
代码是最为耐心、最能忍耐和最令人愉快的伙伴,在任何艰难困苦的时刻,它都不会抛弃你。
展开
-
print list Reversely
private static void printReversely (ListNode node) { if (node.next != null) { printReversely(node.next); } System.out.println(node.data); }原创 2016-08-25 12:01:59 · 387 阅读 · 0 评论 -
code Combinations
给定一个数列,比如1234,将它match到字母上,1是A,2是B等等,那么1234可以是ABCD但是还可以是12是L,所以1234也可以写作LCD 或者AWDpackage string;import java.util.*;public class DecodeCombination { // http://www.1point3acres.com/bbs/fo原创 2016-08-02 20:49:35 · 301 阅读 · 0 评论 -
Serialize and Deserialize tree
Serialize and Deserialize tree: 但是要自己写node structure 和 用linkedlist去存package tree;import java.util.*;import z_dataStructure.TreeNode;public class SerializationAndDe { public LinkedList s(TreeN原创 2016-08-02 18:05:47 · 215 阅读 · 0 评论 -
maximum continuous drop
Given a list of number, there is only one peak or one drop. Find the maximumcontinuous drop.Exps:1 -> 2 -> 3 -> 9 -> 3 -> 0: 9 - 0 = 9;10 -> 4 -> 3 -> 8: 10 - 3 = 7 ;package array;publ原创 2016-08-02 17:49:27 · 408 阅读 · 0 评论 -
sorted array consisted of squares of input integers
给你一个sorted Integer array,输出sorted array consisted of squares of input integers,比如[1,3,5] -> [1,9,25][-3, -1, 0, 1, 2] -> [0, 1, 1, 4, 9]package array;public class SortSquare { public sta原创 2016-08-02 16:58:51 · 189 阅读 · 0 评论 -
suffix arrary
首先定义了suffix string 或者说suffix arrary 如果有个数组是 int[] text = {10, 20, 30, 25} 那么 suffix[0] = {10, 20, 30, 25}. 涓€浜�-涓夊垎-鍦帮紝鐙鍙戝竷 suffix[1] = {20, 30, 25} suffix[2] = {3原创 2016-08-02 16:35:43 · 706 阅读 · 0 评论 -
permutation K
有一个set里有不同的字母{'a', 'b', 'c'}, 有一个整数值K,如果K=2,输出aa,ab,ac,ba,bb,bc,ca,cb,ccfollow up:组合中不包含相同字符怎么实现follow up++:不用额外空间怎么做。public static void main(String[] args) { // char[] set = {'a','b','c','d'}原创 2016-08-17 13:29:11 · 331 阅读 · 0 评论 -
print binary tree boundary
顺时针的print binary tree boundary, 就是从根开始,先打右边界,再打叶子,最后打左边界。package tree;class Node { int data; Node left, right; Node(int item) { data = item; left = right = null; }}class PrintBoundar原创 2016-08-02 14:58:05 · 275 阅读 · 0 评论 -
add next point to tree
binary tree的node加一个ptr next,point到inorder traversal的下一个nodeTreeNode pre = null; TreeNode head = null; void inThreading(TreeNode root) { if (root == null) return; inThreading(root.left);原创 2016-08-02 14:56:47 · 404 阅读 · 0 评论 -
next value of BST
binary search tree,给定一个value,return bin tree里面下一个比value大的值int nextVal(TreeNode root, int target) { if (root == null) { return -1; } TreeNode succ = null; TreeNo原创 2016-08-02 14:03:36 · 265 阅读 · 0 评论 -
valid Parenthese
public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(validParenthese("((())(())")); System.out.println(validParenthese("((())(()))")); } static bool原创 2016-08-02 13:45:16 · 309 阅读 · 0 评论 -
first K common elements in sorted arrays
{{1, 10, 20}, {6, 7, 20, 30}, {3, 4, 15, 20, 30}}; k = 3return 20public static void main(String[] args) { int[][] arr = new int[][] {{1, 10, 20}, {6, 7, 20, 30}, {3, 4, 15, 20, 30}};原创 2016-08-02 12:12:56 · 265 阅读 · 0 评论 -
longest continuous increasing subarray
第一题给一个int array, 找其中最长连续递增sub array的长度。比如[1, 2, 3, 1, 4],结果就应该是[1, 2, 3]的长度,为3。Two pointer public static void main(String[] args) { getMaxSubArray(new int[]{1, 56, 58, 57, 90, 92, 94, 93, 91, 45})原创 2016-08-02 11:37:34 · 306 阅读 · 0 评论 -
balance parentheses in a string
"(a)()" -> "(a)()". 1point 3acres 璁哄潧"((bc)" -> "(bc)"")))a((" -> "a""(a(b)" ->"(ab)" or "a(b)"public static void main(String[] args) { // TODO Auto-generated method stub System.out.pr原创 2016-08-02 11:04:30 · 275 阅读 · 0 评论 -
find distance between two nodes in a binary tree
refer to 点击打开链接Distance(X, Y) = Distance(root, X) +Distance(root, Y) — 2*(Distance(root to LCA(X,Y)where LCA(X,Y) = Lowest Common Ancestor of X,YIn the above example if Distance(20,4原创 2016-08-17 16:52:05 · 1281 阅读 · 0 评论 -
Sorted insert for circular linked list
在一个已排序的循环聊表中插入一个新节点,返回新的头节点参考:点击打开链接package list;import z_dataStructure.ListNode;//http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=144400&extra=page%3D9%26filter%3Dsortid%26sortid原创 2016-08-17 18:19:47 · 504 阅读 · 0 评论 -
new group contact
http://www.1point3acres.com/bbs/thread-148422-1-1.htmlhttp://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=192328&extra=page%3D1%26filter%3Dsortid%26sortid%3D311%26searchoption%255B3046%255D原创 2016-08-06 11:54:06 · 6534 阅读 · 0 评论 -
Find Celebrity II
给你一个set 然后给你了个compareTo的方法,可以比较出大小(任意两个objects都能比较出大小,但是这种关系不具有传递性,即A>B,B>C但是A不一定大于C),让你找出set中最大的object,如果不存在,就返回null。 int compare(Object o1, Object o2) { return o1.toString().compareTo(o2.toString原创 2016-08-25 11:38:51 · 284 阅读 · 0 评论 -
Kth Smallest element
private int quickSelect(int[] arr, int k) { int from = 0, to = arr.length - 1; while (from < to) { int l = from, r = to; int mid = arr[l + (r - l)/2]; while (l < r) { if (arr[l] >= mi原创 2016-08-25 11:28:57 · 285 阅读 · 0 评论 -
求连续K个数的和最大
public int getMaxSumKElements2(int[] nums, int k) { if (nums.length < k) { return -1; } int curMax = 0, curSum = 0; for (int i = 0; i < k; i++) { curSum += nums[i]; } curMax = curSum原创 2016-08-25 11:27:59 · 1233 阅读 · 0 评论 -
find peak or drop
//http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=156077&extra=page%3D2%26filter%3Dsortid%26sortid%3D311%26searchoption%5B3046%5D%5Bvalue%5D%3D2%26searchoption%5B3046%5D%5Btype%5D%3Dradio原创 2016-09-02 09:39:32 · 361 阅读 · 0 评论 -
new group contact
之前的做法有bugpublic class NewGroupContact { //http://www.fgdsb.com/2015/01/25/group-contacts/ // http://www.1point3acres.com/bbs/thread-148422-1-1.html // http://www.1point3acres.com/bbs/forum.php?mo原创 2016-08-31 19:52:57 · 846 阅读 · 0 评论 -
order string
输入是两个字符串(第一个字符串是自定义的字母顺序比如zafdbeg,第二个字符是任意输入的字符串),输出是按照第一个字符串的规则排好序的字符串public static void main(String[] args) { String o1 = "adecbk"; String i1 = "beckeda"; System.out.println(outputAsOrder2原创 2016-08-03 13:37:44 · 550 阅读 · 0 评论 -
K closest points to a given point
K closest points to a given point (x, y). N is in millions and K is few hundreds.package array;import java.util.*;public class KClosestPoints {//http://www.1point3acres.com/bbs/forum.php?mod=原创 2016-08-03 13:09:53 · 518 阅读 · 0 评论 -
min queue
Min Queue, 跟Min Stack类似, 实现一个Queue, 然后O(1)复杂度获得这个Queue里最小的元素。////www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=193703&extra=page%3D1%26filter%3Dsortid%26sortid%3D311%26searchoption%5B3046%原创 2016-08-03 11:55:07 · 871 阅读 · 0 评论 -
Find shortest snippet
参考:点击打开链接Find shortest snippet,比如给一个Document是A,X,X,B,A,X,B,Query是A,B,要求返回shortestSnippet第一问:如果Query有序(即A一定要在B前面),那么要返回A,X,BFollow up:如果Query无序(即B在A前面也可以),那么要返回B,A再Follow up:如果Document非常大,如何再优化原创 2016-08-06 18:23:29 · 290 阅读 · 0 评论 -
Submatrix Sum equals to K
给一个matrix, all elements are positive,问有没有个sub rectangle加起来和等于target。return true/false。package matrix;import java.util.*;public class SubMatrixSum { // http://www.1point3acres.com/bbs/foru原创 2016-08-18 07:56:12 · 595 阅读 · 0 评论 -
merge k sorted list with iterator
Given k sorted lists of O(n) integers each, implement an iterator that will yield all elements in sorted order。package list;import java.util.*;class Wrapper { public ArrayList list; public i原创 2016-08-02 21:37:18 · 722 阅读 · 0 评论 -
substring with star
实现boolean isSubstring(String s, String p). 如果p是s的substring,就返回true。 p可以是带有'*'的,一个'*'可以代表0或者多个任意字符public static void main(String[] args) { System.out.println(isSubStr("abcde", "bcd")); System.out原创 2016-08-02 21:23:10 · 274 阅读 · 0 评论 -
Give the common ancestor of all the deepest nodes of a tree
求一颗任意树(不一定是二叉树)所有最深叶子节点(数量可以是大于等于1的任意值,取决于树的结构)的最深公共前驱节点。例子:.鐣欏璁哄潧-涓€浜�-涓夊垎鍦�如图的树中,返回的都是红色的节点。package tree;import java.util.ArrayList;public class LowestCommonPreAncestor {原创 2016-08-06 11:59:33 · 664 阅读 · 0 评论 -
get product of array
求数组的乘积,比如输入{2,3,5}输出{2,3,5,6,10,15,30},再比如 {2,3,4,5}输出{2,3,4,5,6,8,10,12,15,20,24,30,40,60,120},import java.util.*;public class GetProductSubsetIII { public static List getProduct(int[] nums) {原创 2016-08-01 20:55:54 · 229 阅读 · 0 评论 -
get Nth fib
O(logn)public static int getNthfibo(int n) { if (n < 0) { throw new IllegalArgumentException("n cannot be negative"); } if (n <= 1) return n; int[][] result = { { 1, 0 }, { 0, 1 } };原创 2016-08-01 18:51:12 · 347 阅读 · 0 评论 -
find the smallest subtree that contains all of the tree's deepest nodes
Given a tree, find the smallest subtree that contains all of the tree's deepest nodes. a / | \ b c d / \ |. 1point3acres.co原创 2016-08-01 18:32:09 · 1930 阅读 · 0 评论 -
Find Celebrity II
给一堆object,随便存在什么datastructure里面,有一个function可以用来判断两个object的相对大小,但不可传递,a>b,b>c 不能推出a>c。找出这堆objects中的其中一个,大于所有其他的objects。import java.util.LinkedList;public class FindCelebrityII { int compare(Objec原创 2016-07-31 18:25:38 · 281 阅读 · 0 评论 -
common substring >= k
public class CommonSubstringK { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(longestCommonSubstring("leetcode", "codyabc", 3)); System.out.pri原创 2016-07-31 17:50:18 · 234 阅读 · 0 评论 -
Print Matrix Diagonally
public class PrintDiagonally { public static void main(String[] args) { int[][] matrix = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 } }; printDiagonally(matrix); }原创 2016-07-31 16:20:17 · 338 阅读 · 0 评论 -
is subtree or not
判断一个树是不是另一个树的子树boolean issametree(TreeNode root1, TreeNode root2) { if (root1 == null && root2 == null) return true; if (root1 != null && root2 != null) { ret原创 2016-08-04 06:43:07 · 320 阅读 · 0 评论 -
min steps and path
给一个board,上面有0 和1,1不可以走,0 可以走。任意给一个start一个end,让输出最短的步数。follow up输出路径。就是BFSpublic int minsteps(int board[][], int starti, int startj, int endi, int endj) { int dirs[][] = new int[][] { { 0,原创 2016-08-04 06:29:57 · 275 阅读 · 0 评论 -
find the largest subsquare surrounded by ‘w’ 和‘W’
一个char[][] board,里面有‘b’'B''w''W'四种,bB都表示black,wW都表示white,找最大的正方形面积,这个正方形四个边都是black,正方形中间随便黑白无所谓。Example:一个5x5的board如下,符合条件最大正方形是个3x3的,return面积9。wwbwwwbbbbbbWbwBbbbbwwwww参考:点击打开链接public原创 2016-08-04 05:42:59 · 375 阅读 · 0 评论 -
get all Palindromes of a string
public static void main(String[] args) { AllPalindromes a = new AllPalindromes(); for (String str: a.getAllPalindrome("accbrrbccai2")){ System.out.println(str); };原创 2016-07-30 19:20:05 · 266 阅读 · 0 评论