摘要: 分两步: 首先找到窗口内的内容,然后找到窗口内的最大值。 上面的解法是我自己想的,看了剑指offer,这个题是在栈与队列这一节放的,也就是考点是栈与队列。用上面的方法做时间复杂度是O(nk),但是用队列的方法做复杂度可以到O(n),也就是说每次滑动窗口可以在O(1)里找到最大值。 很大提高了效率,那 阅读全文
posted @ 2019-07-29 20:37 妮妮熊 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 注意几点: 1.要是排序后的中位数,所以要对输入的数字排序 2.注意输出的类型是double 阅读全文
posted @ 2019-07-29 20:13 妮妮熊 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 根据二叉搜索树的特点,它中序遍历的顺序就是从小到大的顺序。因此只要中序遍历找到第k个就可以。 1 class Solution { 2 public: 3 TreeNode* KthNode(TreeNode* pRoot, int k) 4 { 5 if (pRoot == NULL||k==0) 阅读全文
posted @ 2019-07-29 19:50 妮妮熊 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 先来说一下什么是序列化二叉树,就是把二叉树转换成一串序列。反序列化就是将一串序列构造成一个二叉树。 这个题我也不是很懂,为什么要这样写 1 class Solution { 2 public: 3 vector<int> aux; 4 void treetovec(TreeNode * root) 阅读全文
posted @ 2019-07-29 18:45 妮妮熊 阅读(102) 评论(0) 推荐(0) 编辑