Leecode刷题之旅-C语言/python-121买卖股票的最佳时机
/*
* @lc app=leetcode.cn id=121 lang=c
*
* [121] 买卖股票的最佳时机
*
* https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/description/
*
* algorithms
* Easy (48.50%)
* Total Accepted: 32.5K
* Total Submissions: 66.9K
* Testcase Example: '[7,1,5,3,6,4]'
*
* 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
*
* 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
*
* 注意你不能在买入股票前卖出股票。
*
* 示例 1:
*
* 输入: [7,1,5,3,6,4]
* 输出: 5
* 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
* 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。
*
*
* 示例 2:
*
* 输入: [7,6,4,3,1]
* 输出: 0
* 解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。
*
*
*/
int maxProfit(int* prices, int pricesSize) {
int maxpro=,temp=;
int i,j;
for(i=;i<pricesSize;i++){
for(j=i+;j<pricesSize;j++){
if(prices[j]>prices[i]){
temp=prices[j]-prices[i];
if(temp>=maxpro){
maxpro=temp;
}
}
}
}
return maxpro;
}
思路很好理解的。双下标,第一个固定,然后第二个在之后不断移动,如果比第一个下标指定的值大的话,就相减。
设一个temp等于差值,与上一次的maxpro进行比较,如果大的话,maxpro等于temp。
-----------------------------------------------------------------------------------------------------------------
python:
#
# @lc app=leetcode.cn id=121 lang=python3
#
# [121] 买卖股票的最佳时机
#
# https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/description/
#
# algorithms
# Easy (48.50%)
# Total Accepted: 32.5K
# Total Submissions: 66.9K
# Testcase Example: '[7,1,5,3,6,4]'
#
# 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
#
# 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
#
# 注意你不能在买入股票前卖出股票。
#
# 示例 1:
#
# 输入: [7,1,5,3,6,4]
# 输出: 5
# 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
# 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。
#
#
# 示例 2:
#
# 输入: [7,6,4,3,1]
# 输出: 0
# 解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。
#
#
#
class Solution:
def maxProfit(self, prices: List[int]) -> int:
if len(prices) < 2:
return 0
profit = 0
minimum = prices[0]
for i in prices:
minimum = min(i, minimum)
profit = max(i - minimum, profit)
return profit
python这里用函数很方便,在价格最低那天买入,价格最高那天卖出,就会获得最大利润。(当然不能提前买)
Leecode刷题之旅-C语言/python-121买卖股票的最佳时机的更多相关文章
- Leecode刷题之旅-C语言/python-1.两数之和
开学后忙的焦头烂额(懒得很),正式开始刷leecode的题目了. 想了想c语言是最最基础的语言,虽然有很多其他语言很简单,有更多的函数可以用,但c语言能煅炼下自己的思考能力.python则是最流行的语 ...
- Leecode刷题之旅-C语言/python-387 字符串中的第一个唯一字符
/* * @lc app=leetcode.cn id=387 lang=c * * [387] 字符串中的第一个唯一字符 * * https://leetcode-cn.com/problems/f ...
- Leecode刷题之旅-C语言/python-28.实现strstr()
/* * @lc app=leetcode.cn id=28 lang=c * * [28] 实现strStr() * * https://leetcode-cn.com/problems/imple ...
- Leecode刷题之旅-C语言/python-7.整数反转
/* * @lc app=leetcode.cn id=7 lang=c * * [7] 整数反转 * * https://leetcode-cn.com/problems/reverse-integ ...
- Leecode刷题之旅-C语言/python-434 字符串中的单词数
/* * @lc app=leetcode.cn id=434 lang=c * * [434] 字符串中的单词数 * * https://leetcode-cn.com/problems/numbe ...
- Leecode刷题之旅-C语言/python-326 3的幂
/* * @lc app=leetcode.cn id=326 lang=c * * [326] 3的幂 * * https://leetcode-cn.com/problems/power-of-t ...
- Leecode刷题之旅-C语言/python-263丑数
/* * @lc app=leetcode.cn id=263 lang=c * * [263] 丑数 * * https://leetcode-cn.com/problems/ugly-number ...
- Leecode刷题之旅-C语言/python-383赎金信
/* * @lc app=leetcode.cn id=383 lang=c * * [383] 赎金信 * * https://leetcode-cn.com/problems/ransom-not ...
- Leecode刷题之旅-C语言/python-349两整数之和
/* * @lc app=leetcode.cn id=371 lang=c * * [371] 两整数之和 * * https://leetcode-cn.com/problems/sum-of-t ...
随机推荐
- Process.start: how to get the output?
1: Synchronous example static void runCommand() { Process process = new Process(); process.StartInfo ...
- gdb可视化工具gdbgui
gdbgui是一款很强大的gdb可视化工具,基于浏览器调试很方便.后台是python写的,目前使用起来还有些bug,不过已经很满足了. 官网 https://gdbgui.com Github htt ...
- 手工执行sql tuning advisor和sql access advisor
sql tuning advisor:创建任务DECLARE my_task_name VARCHAR2(30); my_sqltext CLOB; BEGIN my_sqltext := 'SELE ...
- Oracle 时段负载情况
ALTER session SET nls_date_format='yyyy-mm-dd hh24:mi:ss'; SELECT * FROM ( SELECT A.INSTANCE_NUMBER ...
- 如果把PNG、JPG、BMP和GIF文件批量转换为ICO文件?
有时候需要将大量的图片文件(比如PNG.JPG.BMP和GIF文件)批量转换为ICO图标文件,如果一个一个操作,非常费时间.本文将介绍如何用Dr. Folder软件快速批量转换图片文件为ICO图标文件 ...
- MySQL语法三:数据控制语句
数据控制语句MCL(GRANT,REVOKE,COMMIT,ROLLBACK)
- 优秀的WEB前端开发框架:Bootstrap!
其实早就对Bootstrap有所耳闻,大概了解这哥们是做WEB前端的 但直到昨天以前,还没有对他产生任何深入了解的兴趣 冷落他的主要原因还是觉得会束缚手脚,毕竟自己多年来在WEB前端的积累一直没有停滞 ...
- 闲来无事,用javascript写了一个简单的轨迹动画
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- VBA与宏
VBA与宏 ====== 刚开始的内容听起来很枯燥,请大家不要分心,耐着性子看下去,兴趣总是慢慢积累的. ----------------------------------------------- ...
- mysql 修改数据类型
只修改列的数据类型的方法: 通常可以写成 alter table 表名 modify column 列名 新的列的类型 例如:student表中列sname的类型是char(20),现在要修改为var ...