LeetCode简单题(三)
时间:2019-08-21
本文章向大家介绍LeetCode简单题(三),主要包括LeetCode简单题(三)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目一:
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
注意你不能在买入股票前卖出股票。
示例 1:
输入: [7,1,5,3,6,4]
输出: 5
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。
方法一:
1、暴力法,用双循环将所有遍历情况都求出来,求出最大值
具体代码:
class Solution { public int maxProfit(int[] prices) { int ans=0; for(int i=0;i<prices.length;i++) for(int j=i;j<prices.length;j++) { ans=Math.max(ans, prices[j]-prices[i]); }
if(ans<0) return 0; else { return ans; } } }
方法二:
求出最小值,然后从最小值后求出最大值
具体代码:
class Solution { public int maxProfit(int[] prices) { int minValue=Integer.MAX_VALUE; int maxPro=0; for(int i=0;i<prices.length;i++) { if(prices[i]<minValue) minValue=prices[i]; else if (prices[i]-minValue>maxPro) { maxPro=prices[i]-minValue; } } return maxPro; } }
原文地址:https://www.cnblogs.com/Optimism/p/11391358.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 关于laravel模板中生成URL的几种模式总结
- Laravel基础-关于引入公共文件的两种方式
- Laravel框架Blade模板简介及模板继承用法分析
- 基于Laravel 多个中间件的执行顺序详解
- 关于laravel 日志写入失败问题汇总
- 确保Laravel网站不会被嵌入到其他站点中的方法
- PHP PDO和消息队列的个人理解与应用实例分析
- tp5 sum某个字段相加得到总数的例子
- laravel框架创建授权策略实例分析
- tp5递归 无限级分类详解
- PHP 进程池与轮询调度算法实现多任务的示例代码
- 如何在Laravel5.8中正确地应用Repository设计模式
- laravel框架中路由设置,路由参数和路由命名实例分析
- PHP框架实现WebSocket在线聊天通讯系统
- 设定php简写功能的方法