Skip to content

Latest commit

 

History

History
105 lines (69 loc) · 3.91 KB

07.04.01-Exercises.md

File metadata and controls

105 lines (69 loc) · 3.91 KB

07.04.01 练习题目(第 13 天)

1.1 题目大意

描述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。

要求:计算出能获取的最大利润。如果你不能获取任何利润,返回 $0$

说明

  • $1 \le prices.length \le 10^5$
  • $0 \le prices[i] \le 10^4$

示例

  • 示例 1:
输入:[7,1,5,3,6,4]
输出5
解释在第 2 股票价格 = 1的时候买入在第 5 股票价格 = 6的时候卖出最大利润 = 6-1 = 5注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格同时你不能在买入前卖出股票
  • 示例 2:
输入prices = [7,6,4,3,1]
输出0
解释在这种情况下, 没有交易完成, 所以最大利润为 0

2.1 题目大意

描述:给定一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买 / 出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。

要求:计算出能获取的最大利润。

说明

  • $1 \le prices.length \le 3 * 10^4$
  • $0 \le prices[i] \le 10^4$

示例

  • 示例 1:
输入prices = [7,1,5,3,6,4]
输出7
解释在第 2 股票价格 = 1的时候买入在第 3 股票价格 = 5的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4随后在第 4 股票价格 = 3的时候买入在第 5 股票价格 = 6的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3总利润为 4 + 3 = 7
  • 示例 2:
输入prices = [1,2,3,4,5]
输出4
解释在第 1 股票价格 = 1的时候买入在第 5 股票价格 = 5的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4总利润为 4

3.1 题目大意

描述:给定一个整数数组 nums

要求:找到其中最长严格递增子序列的长度。

说明

  • 子序列:由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。
  • $1 \le nums.length \le 2500$
  • $-10^4 \le nums[i] \le 10^4$

示例

  • 示例 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

习题解析

  1. 0121. 买卖股票的最佳时机」习题解析:网页链接Github 链接
  2. 0122. 买卖股票的最佳时机 II」习题解析:网页链接Github 链接
  3. 0300. 最长递增子序列」习题解析:网页链接Github 链接