Menu Sidebar
Menu

Archive: December 31, 2015

Happy Number

  public boolean isHappy(int n) { // Write your code here if(n <= 0) return false; long nn = (long)n; Set<Long> set = new HashSet<Long>(); while(true) { if(nn == 1) return true; if(set.contains(nn)) return false; else set.add(nn); long tmp = 0; while(nn != 0){ tmp+= (nn % 10)*(nn % 10); nn/=10; } nn = tmp; […]

Maximum Minimum Path in Matrix

给一个矩阵, 先找所有从左上到右下的path. 找出每个path的最小值. 找出这些最小值中的最大值. 这题看着挺乱的, 给个例子就清楚了. {8,4,3,5} {6,5,9,8} 这个返回5 所有的path: 8->4->3->5->8 min:3 8->4->3->9->8 min:3 8->4->5->9->8 min:5 8->6->5->9->8 min:5 Result = Math.max(3,3,5,5,) = 5 Code: public static int maximumMinimumPath(int[][] matrix) { if (matrix == null || matrix.length == 0 || matrix[0].length == 0) { return 0; } int n = matrix.length; int m = matrix[0].length; int[][] […]

Binary Tree Paths

打印所有的从root到leaf的path. 开始用的queue做的..后来看了下别的人的答案, 感觉都很简练.po一个别人的答案   public List<String> binaryTreePaths(TreeNode root) { List<String> res = new ArrayList<String>(); if(root == null) return res; if(root.left == null && root.right == null) res.add(root.val + “”); else{ if(root.left != null) res.addAll(binaryTreePaths(root.left)); if(root.right != null) res.addAll(binaryTreePaths(root.right)); for(int i = 0 ; i < res.size(); i++) res.set(i,root.val + “->” + res.get(i)); } return res; […]

书脊

这青苔碧瓦堆, 俺曾睡风流觉, 将五十年兴亡看饱.

December 2015
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
28293031