摘要: 老黄、老银和老阳共事宇宙中心某互联网企业H,并且同在一个由校招新生组成的Team里。刚走出校园的他们,对自己去年在校招这场演技大比拼中的表现意犹未尽,因此常会拿一些没什么实际意义的技术问题大谈特谈。这次是午饭后的扯皮时间,这几个人就吸着免费的明胶酸奶,从一些概率问题讨论到了随机数发生器上……黄:像去... 阅读全文
posted @ 2014-08-29 01:51 Nagao 阅读(493) 评论(0) 推荐(0)
摘要: Flatten Binary Tree to Linked ListGiven a binary tree, flatten it to a linked list in-place.这道题用后序遍历解,因为题目给出的例子是以后序展平的:1)若左右子树为空,返回根节点本身;2)若左子树不为空,处理左子树;3)若右子树不为空,处理右子树,并将展平后的右子树根节点拼接在左子树最后节点上;4)将拼接后的首节点挂在根节点右子树上。在递归时,可以返回最右节点,以免之后重复查找。#include struct TreeNode { int val; TreeNode *left; TreeNode *ri 阅读全文
posted @ 2013-08-24 15:31 Nagao 阅读(265) 评论(0) 推荐(0)
摘要: 掌握序列算法已经成为面试笔试的标配。基本的序列问题多用动态规划技巧解。动态规划通过把原问题分解为相对简单的子问题的方式求解复杂问题。本文中将要讨论的以下三个问题多用到动态规划:最大连续子序列(Maximum Consecutive Subsequence),最长递增子序列(Longest Increasing Subsequence),最长公共子序列(Longest Common Subsequence)。在用动态规划分析问题时,需要找到分解子问题的方法,此外,还应该判断子问题的最优解是否能决定全局最优解。最大连续子序列问题:给定序列$a_{1}, a_{2}, \cdots, a_{n}$, 阅读全文
posted @ 2013-08-20 14:18 Nagao 阅读(1168) 评论(0) 推荐(0)
摘要: $\sum_{i}$ 阅读全文
posted @ 2013-08-18 22:44 Nagao 阅读(114) 评论(0) 推荐(0)