昨天我做了几道li扣题其中动态规划的网格题,从左上角到右下角走起来我会了,包括有障碍的情况再就是跳跃游戏,说是用贪心算法,跳跃游戏1,是说判断是否可以从第一个跳到最后一个位置,也用贪心算法,这个应该简单点,就是for循环,i+nums【i】跟maxPosition比,每次都用maxPosition,如果maxPosition到最后一个位置了,应该就是可以了,其中最重要的是i<=maxPosition!!!因为maxPosition都走不动了,i还走个屁啊!!!跳跃游戏2,是用最少的步数到达最后一个位置,贪心算法,他这个是用第一次跳的最远范围,然后在第一次的范围里找第二次最远的范围,再往后走,start,end,step,maxPosition,while(end<length)for循环从start到end,start=end,end等于maxPosition+1,step++,一遍一遍的for循环,找到end走起来就好了还有就是从前序和中序遍历序列中构成二叉树,给了两个数组,,分别是前序和中序,这个用递归,就是要用map,把中序遍历序列放到map里,先找根root,再找root.left和root.right,这个是用那个前序数组,前序左边界,前序右边界,map,中序数组,中序左边界,中序右边界,以上是参数,找root.left,前序里左子树的left,right,还有中序的,还有右子树的前序中序里的边界,这个是从中序遍历里找到根所在的下标,就知道了左子树的长度,然后就知道了所有!!返回的是根root,这个是一个方法,总方法里需要有这种参数,就是构造map,再return就行了二叉搜索树的个数,这个也是动态规划的题,是给你一个数n,判断它可以有多少种二叉搜索树,设Gn为总数,然后这个需要看根在哪,从哪分左子树右子树,设fi,n为第i个节点为根节点的二叉搜索树的个数,那fi,n=Gi-1×Gn-i,然后Gn=fi,n中i从1加到n,那Gn=Gi-1×Gn-i中i从1加到n,G0=1,G1=1,然后列式走起来,两重for循环,i从2到n闭,j从1到i闭