
LeetCode
罗伦
这个作者很懒,什么都没留下…
展开
-
Median of Two Sorted Arrays
找两个有序数组的中位数,是一道LeetCode上面的面试题。要解这道题,首先要弄清楚规则,具体可以参考https://leetcode.com/problems/median-of-two-sorted-arrays/solution/上面的分析。这里,先保证第一个数组的长度小于第二个数组的长度,然后按照规则保证左半部分最大的数小于右半部分最小的数。 在找到了合适的inde...原创 2018-03-01 09:24:28 · 172 阅读 · 1 评论 -
Longest Increasing Subsequence
最长上升子序列 题目要求时间复杂度为O(n2),采用动态规划的思想,用一个数组d记录当前index时,以Array[index]结尾的最长上升子序列。这样,通过一次遍历,内部嵌套一个0:index处的比较,就能更新完d数组,最长上升子序列的长度即是max(d[i]).代码如下int lengthOfLIS(vector<int>& nums) { i...原创 2018-03-01 10:24:59 · 166 阅读 · 1 评论 -
3 sum 问题
给定一个数组,找出3个数相加为0的所有组合。例如:给出0,1,-1,4,5,3,-7组合为0,-1, 1;3, 4,-7解题思路:这里要求a+b+c=0,只需要满足a+b=-c即可。首先将数组按递增排序,通过遍历,当前数若大于0即可跳出循环。需要注意的是,如果当前数与上一个数相等,且当前数大于0,那么不用再继续判断,只需要直接跳到下一个数即可。 vector<vector<int...原创 2018-03-02 11:16:21 · 794 阅读 · 1 评论 -
BinaryTree,Preordertraversal,Inordertraversal,and Postordertraversal的三种非递归实现方式
二叉树遍历的三种非递归实现方式 二叉树的前序遍历,中序遍历,后续遍历是三种十分基础的便利方式,大多数人对其三种递归方式的遍历比较熟悉。这篇文章主要针对LeetCode上面的题目,分别对该三种遍历的非递归遍历方式进行了仿真,主要用到的数据结构是栈。 初学者对三种序列的顺序容易搞混淆,这里首先提供一种简单的记忆方式。一颗二叉树简单分为根节点,左节点,右节点。按照根节点在遍历中的...原创 2018-03-20 10:43:17 · 558 阅读 · 0 评论 -
买卖股票问题
#include<iostream>#include<vector>#include<cmath>using namespace std;int maxres(vector<int>a){ int buy=-pow(2,31); int sell=0; int buy1=-pow(2,31); int se...原创 2018-07-09 11:06:35 · 848 阅读 · 0 评论