• Day 23


    第96题:

    给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种?(来自LeetCode)

    1、题目相当于给了n个数(1……n),然后使用这n个数来组成二叉树;

      其实很容易就像得到就是用n个数里面的每个数字来作为根节点计算它组成的二叉树个数;

      (这里可以知道sum[0]=1,sum[1]=1)

      这里可以看得出思想是递归往下的,例如给一个(1、2、3、4、5);

      我们此时用3作为根节点,然后它的左子树一定是由(1、2)两个节点组成

                      右子树一定是由(4、5)两个节点组成

      我们就可以利用dp数组或者递归的方式来将两个节点组成的二叉搜索树个数存储起来;

      一直左右子树都是两个节点组成的二叉树,两个节点组成的树个数都是两个;

      那么就得出根节点为3,节点数为5组成的二叉搜索树个数是4(2*2)个;

      这样依次就可以得出每个数作为根节点组成的二叉树个数了;

      最终得出结果(遍历的时候就可以直接将结果累加起来,最终的sum[n]就是所需要的总数)

      

      下面时递归写法

      

    第53题:

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。(来自LeetCode)

    1、其实就和插入排序一样,将数组的第一个元素作为最终解;

      然后将后面的元素依次加入最终解,判断每一步加的时候最终解与之前的最终解比较,去大的那个就可以了。

      

    2、下面是动态规划,思想都差不多。

      

  • 相关阅读:
    JavaFX学习曲线日记2:声明用户接口
    深入学习JavaFX脚本语言
    JavaFX学习曲线日记2:声明用户接口
    JavaFX学习曲线日记1:探索JavaFX脚本
    深入学习JavaFX脚本语言
    略谈数学中的映射在其它领域的踪迹
    Using Swing's Pluggable Look and Feel
    JavaFX学习曲线日记1:探索JavaFX脚本
    赖勇浩:应对多核编程革命
    Using Swing's Pluggable Look and Feel
  • 原文地址:https://www.cnblogs.com/liang-yi-/p/13311226.html
Copyright © 2020-2023  润新知