- 博客(42)
- 收藏
- 关注
转载 凯文凯利的预测
近日,“互联网教父”凯文•凯利在演讲中称,任何一家大公司都有颠覆的风险。,未来创业者可在根据共享经济、互动经济、数据经济、人工智能等科技未来发展趋势去创业。当前,互联网行业频频上演巨头并购的剧情,同时又有“O2O死亡名单”疯传于网络。历史证明,任何巨头或行业都是有可能被颠覆的。因此,尽管被“O2O死亡名单”搞得人心惶惶的背景下,创业者还是有新的创业方向的。“互联网教父”凯文•凯利就给创业者们指明了
2015-10-31 12:29:18 714
转载 详解cookie与session机制
原文链接为保护原作者的知识产权,推荐使用原文进行观看。一下内容仅作备份。谢谢会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什
2015-10-29 22:49:17 316
转载 人,技术与流程-- 孙宇聪
原帖链接一下内容仅作备份。建议使用原帖观看 我先做一下自我介绍,我是 2007 年加入的 Google,在 Moutain View 总部任 Google SRE,今年年初回国加入 Coding。 在 Google 我参与了两个 Project,第一个就是 Youtube,其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存
2015-10-29 11:51:19 407
原创 leetcode Unique Paths II
题目链接这里有个效率很低的算法。深度优先算法public class Solution { public static void main(String args[]) { Solution sol=new Solution(); System.out.println(sol.uniquePathsWithObstacles(new int[][]{{0
2015-10-24 11:09:02 222
原创 leetcode Subsets II
题目链接 思路: 和subsets 第一题的思路一样。只不过,要让每次循环的起点值不相同。。 就是代码int k=i++;while(i<n&&nums[i]==nums[k]){ i++;}实现的功能 解题代码public class Solution { int nums[]; int n; List<List<Integer>> re
2015-10-23 19:53:54 246
原创 leetcode Convert Sorted List to Binary Search Tree
题目链接一个偷懒的做法就是把链表转换为数组。然后用分治法。左边递归构建子数,右边递归构建子树。。线性时间复杂度。。看上去不错。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val =
2015-10-23 19:42:59 227
原创 leetcode Combination Sum II
题目链接思路: 没有public class Solution { int [] candidates; int n; LinkedList<List<Integer>> result; LinkedList<Integer>temp; public List<List<Integer>> combinationSum2(int[] candidates,
2015-10-23 19:08:40 219
原创 leetcode Combination Sum
题目链接思路: 递归回溯public class Solution { int [] candidates; int n; LinkedList<List<Integer>> result; LinkedList<Integer>temp; public List<List<Integer>> combinationSum(int[] candidates,
2015-10-23 16:30:36 199
原创 leetcode Sum Root to Leaf Numbers
题目链接思路: 无/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Sol
2015-10-22 20:04:12 192
原创 leetcode Remove Duplicates from Sorted Array II
题目链接思路: 没有public class Solution { public int removeDuplicates(int[] nums) { int length=1; boolean exist=false; int distance=0; for(int i=1;i<nums.length;i++)
2015-10-22 19:39:39 193
原创 leetcode Combinations
题目链接思路: 递归回溯public class Solution { int n; int k; //boolean record[]; LinkedList<List<Integer>>result; LinkedList<Integer>temp; public List<List<Integer>> combine(int n, int k)
2015-10-22 19:08:16 257
原创 leetcode Set Matrix Zeroes
题目链接思路: 没有思路public class Solution { int m; int n; boolean recordRow[]; boolean recordCol[]; public void setZeroes(int[][] matrix) { int m=matrix.length; int n=matrix[0
2015-10-22 17:04:53 178
原创 leetcode Search a 2D Matrix
题目链接思想: 谈不上思想。我这个方法是线性查找的。如果希望改进可以用二分查找public class Solution { public boolean searchMatrix(int[][] matrix, int target) { int startRowIndex; final int LASTROWINDEX=matrix[0].lengt
2015-10-22 14:28:17 203
原创 leetcode Subsets
题目链接思路: 递归回溯public class Solution { int nums[]; int n; List<List<Integer>> result; public List<List<Integer>> subsets(int[] nums) { Arrays.sort(nums); this.nums=nums;
2015-10-22 13:47:13 221
原创 leetcoed Rotate Image
题目链接思路: 找规律,旋转的规律就是i,j的下一个点是j,n-i。其中n行数减一。 这样进行4次转一圈旋转了一个像素。。 再观察出需要用哪些像素做起始点然后开始旋转。。 public class Solution { int [][]matrix; int n; public void rotate(int[][] matrix) { this.mat
2015-10-20 19:30:52 239
原创 leetcode Generate Parentheses
题目链接思路: 这个题目其实看了别人的代码。当然只是匆匆扫了一眼,并没有看仔细。其实包含的思想是有剪枝的穷尽 我们可以定义两个变量一个记录还有多少个(另一个变量记录还有多少个)那么,下面的递归就是穷尽所有的可能help(prev+"(", open-1, close);help(prev+")",open,close-1);当open==close==0时。代表所有的()都用完了,需要添加到结
2015-10-20 17:05:38 234
原创 leetcode Gray Code(不是自己做的)
题目链接思路: 这个题是观察规律。当然我是没做出来的。。public class Solution { public List<Integer> grayCode(int n) { List<Integer> result = new ArrayList<>(); if (n == 0) { result.add(0);
2015-10-19 20:02:52 164
原创 leetcode Unique Paths
题目链接思路: 这个题目就是求c(m+n-2,n-1)。。也是组合数学里面非降路径的概念import java.math.BigInteger;public class Solution { public int uniquePaths(int m, int n) { BigInteger result=new BigInteger("0"); BigI
2015-10-19 18:58:34 183
原创 leetcode Find Minimum in Rotated Sorted Array(需要复习)
题目链接思路: 二分查找 但是这个题目很奇怪。因为右边收缩的时候并不能做middle-1的收缩。所以还是需要仔细看看的。。public int findMin(int[] nums) { int left=0; int right=nums.length-1; while(left<right) { int
2015-10-19 18:28:34 170
原创 leetcode Convert Sorted Array to Binary Search Tree
题目链接思路: 分治法/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class S
2015-10-19 16:25:15 171
原创 leetcode Maximum Subarray
题目链接java的忧伤,是线性时间的也通不过。总说超时。所以我只能抄一个c++提交上去了。其实有个人用java写的答案也是超时的,所以只能说语言不对了思路: 一个record数组。记录到所以i为止,前面的连续的最大和。。如果是小于零的直接记为0,表示不向前连续,因为前面的和是负的,加上必定是减小的。public class Solution { public int maxSubArray
2015-10-19 15:44:02 156
原创 leetcode Search Insert Position
题目链接思路: 二分查找public class Solution { int []nums; int target; public int searchInsert(int[] nums, int target) { this.nums=nums; this.target=target; return help(0,nums.
2015-10-19 14:56:57 172
原创 leetcode Flatten Binary Tree to Linked List
题目链接思路: 用一个递归思路,很简单/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public
2015-10-19 14:26:02 185
原创 leetcode Binary Tree Zigzag Level Order Traversal
题目链接思路: 简单思路/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class
2015-10-19 11:09:48 156
原创 leetcode Sort Colors
题目链接思路: 用两个指针,一个标记0的结尾,一个标记2的开头。。用一个指针扫描数组。如果是0,放到0的集合中,如果是2放到2的集合中。如果是1则不处理。。public class Solution { public void sortColors(int[] nums) { int zeroIndex=-1; int twoIndex=nums.length
2015-10-19 10:39:42 189
原创 leetcode Permutations
题目链接思路: 递归回溯。典型应用public class Solution { int n; List<List<Integer>> result; List<Integer> temp; boolean isUsed[]; int[]nums; public List<List<Integer>> permute(int[] nums) {
2015-10-14 19:48:36 208
原创 leetcode Minimum Path Sum
题目链接思路: 动态规划 一个点只能由左边点或者上边点到达。这样我们做个比较就好record[i][j]=Math.min(record[i][j-1],record[i-1][j])+grid[i][j];public class Solution { public int minPathSum(int[][] grid) { int n=grid.length;
2015-10-14 15:16:34 199
原创 leetcode Swap Nodes in Pairs
题目链接 思路: 简单题。但是我是不是作弊了?其实改变val值和不改变的话差别不大。就是自己实现一个改变节点指针的程序而已。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val =
2015-10-14 14:32:07 152
原创 leetcode Find Peak Element
题目链接思路: 二分查找依旧不熟练public class Solution { public int findPeakElement(int[] nums) { int n=nums.length; if(n==1) { return 0; } int leftIndex=0;
2015-10-14 14:14:28 271
原创 leetcode Bitwise AND of Numbers Range
题目链接不得不说。我的位操作真的不是很好。碰到位操作的题目就不会。注定不能做硬件程序员。。思路:(是看了别人的代码才有的思路,不然我就用循环做了) 其实从m到n。。。我们可以想象,只有m和n的二进制公共前缀起作用。因为从m到n。公共前缀后面的每一位都会出现0.这样与出来的结果就是0.所以我们只要找到m,n的二进制公共前缀就好。public class Solution { public i
2015-10-14 13:24:37 199
原创 leetcode Triangle
题目链接思路:动态规划 定义一个数组记录到这个点的最小距离其中要注意的是 每一行的第一个点,和最有一个点只有一种方式能到达,要特殊处理public class Solution { public int minimumTotal(List<List<Integer>> triangle) { int n=triangle.size(); int resul
2015-10-14 09:55:55 220
原创 leetcode Validate Binary Search Tree
题目链接思路: 何时为一个合格的搜索树? 1左边是合格搜索树 2右边是合格搜索树 3根大于左边的最大值 4根小于右边的最小值运用递归判断/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right
2015-10-13 21:37:45 205
原创 leetcode Ugly Number II(需要复习)
题目链接这个题我没有坐上来。是看别人的思路写的public class Solution { public int nthUglyNumber(int n) { List<Integer> table = new ArrayList<Integer>(); table.add(1); int index2=0,index3=0,index5=0;
2015-10-13 20:10:33 229
原创 leetcode H-Index II
题目链接代码写的很烂。按下不表public class Solution { public int hIndex(int[] citations) { if(citations.length==0) { return 0; } boolean allzearo=true; for (int
2015-10-13 19:06:47 254
原创 leetcode Peeking Iterator
题目链接// Java Iterator interface reference:// https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.htmlclass PeekingIterator implements Iterator<Integer> { private Integer cache; private
2015-10-13 10:27:50 263
原创 leetcode Nim Game
题目链接思路: 1 2 3都是赢的4 输的5 6 7 都是赢的 (5 我拿走1个 6拿走2个 7 拿走三个 保证到对手那边是4) 8是输的 (我无论拿走1 2 3 个对手都可以保证他拿完是4个留给我,让我输)观察规律 只要我们保证把4 ,8等等能留给对手就能赢。不能保证就是输的 规律 1 2 3 4 5 6 7 8 9 10 赢赢赢输赢赢赢输赢赢赢public class
2015-10-13 10:12:59 278
原创 leetcode Unique Binary Search Trees
题目链接思路:动态规划一棵树是由左子树和右子树组合而成 所以 一个n点数的情况是 根占一个点左子树点0个点可能情况*右子树n-1个点可能情况 左子树点1个点可能情况*右子树n-2个点可能情况 。。。。。。。。。。。。。。。。。。。。。。 左子树点n-1个点可能情况*右子树0个点可能情况这样的所有组合的public class Solution { public int numTr
2015-10-12 21:18:43 276
原创 leetcode Populating Next Right Pointers in Each Node
题目链接思路:这个题目有问题。其实深度优先并不是常量空间复杂度的。遇到问题: 1注意链接 root->right->next= root->next->left; 2注意在虽有边的时候root没有next/** * Definition for binary tree with next pointer. * struct TreeLinkNode { * int val; *
2015-10-12 20:42:05 238
原创 leetcode Binary Tree Inorder Traversal
题目链接/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution
2015-10-11 21:56:18 230
原创 leetcode word-pattern
题目链接 思路: 用一个hashMap存放已经出现的模板 单词对。。在以后出现模板的时候从hashMap里面取出单词查看是不是一样的。public class Solution { public boolean wordPattern(String pattern, String str) { String [] strs=str.split(" ");
2015-10-11 21:26:02 287
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人