摘要: 题目:给定一数组,判断它是否为二叉查找树的后序遍历数组思路:想想,二叉查找数树的特点,任意根结点大于左子树的所有值,而小于右子树的所有值;再想想,后序遍历的特点,先遍历左子树,再遍历右子树,最后是根结点;因此很容易找到根结点,然后遍历数组找出左子树(从左往右比根结点小的),剩下右边的就是右子树,然后... 阅读全文
posted @ 2015-09-21 22:38 AndyJee 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 题目:假设有如下操作,偶数则除以2,奇数可以加1或减1,那么问给定某个数,让它变成1需要的最少操作是多少步?思路:1、动态规划:递推方程:if n&1==1 dp[n]=min(dp[n-1]+1,dp[(n+1)/2]+1)if n&1==0 dp[n]=dp[n/2]+1初始状态:dp[1]=1... 阅读全文
posted @ 2015-09-21 22:15 AndyJee 阅读(954) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个包含 n 个整数的排序数组,找出给定目标值 target 的起始和结束位置。如果目标值不在数组中,则返回[-1, -1]思路:1、直接遍历数组,复杂度O(n)2、二分查找先通过二分查找,找到target出现的最左边的位置,如果不存在,返回-1;再通过二分查找,找到target出现的最右... 阅读全文
posted @ 2015-09-21 22:04 AndyJee 阅读(1805) 评论(0) 推荐(0) 编辑