摘要:
题目: 本题解题思路: 思考过程中考虑到可以用两个map来解决该问题,但发现比较麻烦,后自己写了一个解决方案: 核心数据结构: 用一个排序的双向链表来存储所有的key和key的计数,数列的计数从小到大。 如果返回最小计数的key,则返回队列中的头元素,如果返回最大计数的key,则返回队列的最末位的元 阅读全文
摘要:
解题思路: 利用递推公式dp[i] = dp[i-1] + dp[i-2].我们可以知道最后一步可以上一个台阶或者上两个台阶。 代码: 阅读全文
摘要:
题目: 解题思路: 这道题目比较有意思,从表面上看肯定是用二分查找来计算,但是如何找到第一个错误的版本是个难点。用res记录下每次错误的版本。 类似于在一个已经排序好的数组中查找第一个比该数目小但最接近该数的值。此题目作为重点题目变形题目,平时需要多加练习。 代码如下: 代码: 阅读全文
摘要:
题目: 解题思路: 从数组的后边起,依次取最大的数据即可。 代码: 阅读全文
摘要:
题目: 解题思路如下: 每次取数组最中间的数据作为根节点,数组分为半部分和后半部分,前半部分构成BST的左子树,后半部分构成BST的右子树,依次递归。 代码如下: 阅读全文
摘要:
题目: 解题思路: 采用队列即可,按照层次依次将每层的节点入队列即可。 阅读全文
摘要:
题目: 解题思路: 递归 1.判断左孩子的值与右孩子的值相等,同时判断左子树和右子树是否都为镜像树。 源代码: 阅读全文
摘要:
题目: 1.递归: 满足左边的最大节点小于根节点,右边的最小节点大于根节点。 代码如下: 阅读全文
摘要:
题目: 1.解题思路: 递归即可,找到左子树的深度和右子树的深度,取最大的即可。 代码如下: 阅读全文
摘要:
题目: 解题思路: 1.快慢指针即可,快指针每次走两步,慢指针每次走一步。快指针追上慢指针,则表示有环。 阅读全文