自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MuseCP@YenTown

爱看看,不看滚

  • 博客(4)
  • 收藏
  • 关注

原创 最长上升(不下降)子序列

时间复杂度要求O(nlogn),从这个要求倒推可知需要用DP,且内层循环大概率要使用二分法。众所周知二分法用于有序数组,所以考虑辅助数组应该是一个有序上升(不下降)的。设数组d,d[k]表示长度为k的不下降子序列末尾元素的最小值。因为只有保证末尾是最小值,后续的数字接上才有可能是最优解。数组d只是一个辅助数组,和最后最长的不下降序列无关,甚至有可能在后面的数字排到前面去了。但是这并不影响,因为d...

2018-11-29 11:23:49 222

原创 162. Find Peak Element的C++解法

看到时间复杂度要求为对数立刻想到二分法。注意有一个边界条件,在LintCode中的寻找峰值也有一个类似条件,本质是一样的,即中间的数两边,增长的一端一定有峰值。class Solution {public: int findPeakElement(vector<int>& nums) { if (nums.size()==1) return 0;...

2018-11-27 16:59:54 286

原创 106. Construct Binary Tree from Inorder and Postorder Traversal的C++解法

使用递归: class Solution {public: TreeNode * buildTree(vector<int> &inorder, vector<int> &postorder) { // write your code here if (inorder.size() == 0) return NULL; int roo...

2018-11-19 16:14:16 142

原创 二叉树的前中后序遍历(递归&非递归)

中序递归:class Solution {public: vector<int> res; vector<int> inorderTraversal(TreeNode * root) { inorder(root); return res; } void inorder(TreeNode * root)...

2018-11-16 11:35:37 186

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除