2014年3月1日 Start && Unique Binary Search Trees

早上和面试官聊天, 才发现自己的基础下降的有点厉害, 过去那个飘逸写程序的小青年, 如今有点走下坡路了。

可惜我不服,所以要开始做题,把水平恢复上来,能力是最重要的。

最近在做LeetCodeOJ的题,一般般难度,每道题都不需要查资料就可以做出来,感觉还不错,很像面试题的样子。

当然,最好还是做一些ACM OJ的题吧。

题目: Unique Binary Search Trees

讲的是如何判断N节点二叉搜索树最大个数,其实认真想想就知道,只是一个最大子树的题,忘了,重新用笔画推导,应该是 F(n) = ( F(i)*F(n-i-1)  for i = 0; i<n; ++i)。

另外,早上面试官聊天,提到我居然都忘记了switch的用法,简直菜成狗,必须用一用。

class Solution {
public:
    int numTrees(int n) {
        switch (n)
        {
            case 0:
                return 1;
            case 1:
                return 1;
            case 2:
                return 2;
            default:
                int ret = 0;
                for (int i = 0; i<n; ++i)
                {
                    ret += (numTrees(i)*numTrees(n-1-i));
                }
                return ret;
        }
    }
};

很简单的题,庆祝一下我回来了。 另外cnblogs 对 Wordpress 的兼容挺好的,不过代码样式还是有点花,调整了一下,换成cnblog自带的插件,嗯,好一些了。

原文地址:https://www.cnblogs.com/seenthewind/p/3575792.html