
LeetCode
力扣刷题记录。
小太阳的向日葵
普通的Coder,欢迎与您的交流。
展开
-
力扣121题 “买卖股票的最 佳时机”
1、题目描述(难度 简单) 样例: 数据范围 2、题目解析 方法一:用两个变量记录当前股票最小价格和,如果当前卖掉的最大利润,然后遍历数组的时候不断更新,最后输出的最大利润则是题目答案。c++代码如下: class Solution { public: int maxProfit(vector<int>& prices) { int minprice = int(1e9); // 当前遇到的最小价格 int maxp.原创 2021-12-17 15:16:35 · 892 阅读 · 0 评论 -
LeetCode 300.最长上升子序列
给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例1 输入:nums = [10,9,2,5,3,7,101,18] 输出:4 解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。 示例2 输入:nums = [0,1,0,3,2,3] 输出:4 示例3 输入:nums = [7,7,7,7,7,7,7] .原创 2021-07-20 17:49:55 · 197 阅读 · 0 评论 -
最长上升子序列
问题描述 最长上升子序列( LIS ) 定义 给定长度为n的序列,从中选取一个子序列,这个子序列需要单调递增。问最长上升子序列( LIS )的长度。eg : 1, 5, 2, 3, 11, 7, 9则LIS序列为: 1, 2, 3, 7, 9 。则长度为5 设计状态 记f(x)为以a[x]结尾的LIS长度,那么LIS=max{f(x)}。 如何推导f(x),f(x)从哪里来? 考虑比x小的每一个p,如果a[x] > a[p],那么f(x) = f(p) + 1 状态转移方程 f(x) = max(f原创 2021-07-20 16:28:45 · 170 阅读 · 0 评论 -
LeetCode 1.两数之和
给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例1 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例2 输入:nums = [3,2,4], target =...原创 2021-07-20 16:08:41 · 183 阅读 · 0 评论