BM80 买卖股票的最好时机(一)

目录

1.题目描述

2.题目分析

3.编写代码

4.总结


这是牛客网上的一道题目

1.题目描述

题目链接:买卖股票的最好时机(一)_牛客题霸_牛客网 (nowcoder.com)

2.题目分析

我们看到这个题目中一个数组表示每一天的股价,那么最大利润怎么算呢,我们用图片来表示

假设这是我们输入的数组

根据题目的意思,我们需要在股价最低的时候买入,在股价最高的时候抛出;但是这有一个问题,我们只能在买入当天以后的股价中找利润最大的,如果没有最大的,那就返回0;我们推理一下

  • 第一天:最小值8 利润:8-8=0

  • 第二天:最小值8 利润:9-8=1

  • 第三天:最小值2 利润:2-2=0

  • 第四天:最小值2 利润:4-2=2

  • 第五天:最小值2 利润:10-2=8

  • 第六天:最小值1 利润:1-1=0

  • ......

  • 依次递推即可知道:最大利润值即为8

3.编写代码

根据这个逻辑,写代码的时候我们需要初始化最低股价min,最大效益maxProfit,当前股价price 

  • 当前股价我们需要假设每一天的情况,所以我们用for循环遍历数组实现
  • 最低股价我们假设数组的第一个元素是最低股价,然后与当前股价比较得出最低股价
  • 每一天的最大利润是当前股价减去最低股价
  • 比较每天的最大利润,得出所有最大利润中最大利润返回
  • 没有利润则返回0

我们编写出下面这段代码

int maxProfit(int* prices, int pricesLen ) {// write code hereint min=*prices;int maxProfit=0;//初始化最大利润int price=0;//初始化当前股价for(int k=0;k<pricesLen;k++){price=prices[i];min=min<price?min:price;//求出当前股价之前的最低股价maxProfit=maxProfit<(price-min)?(price-min):maxProfit;}return maxProfit;
}

4.总结

作为程序员,拿到题目后一定不会是立刻打开编译器写代码的,我们需要先分析题目,梳理解决问题的逻辑

条理清晰,才能写出高效的代码

一起加油吧!小杜陪各位一起成长

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1619784.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

MFC界面库

好东西&#xff0c;果断收藏 刚开始用C做界面的时候&#xff0c;根本不知道怎么用简陋的MFC控件做出比较美观的界面&#xff0c;后来就开始逐渐接触到BCG Xtreme ToolkitPro v15.0.1&#xff0c;Skin,等界面库&#xff0c;以及一些网友自己写的界面库&#xff0c;开始对于C软件…

android开源库合集

android开源库合集 1、阿里巴巴开源的自定义viewpager&#xff0c;支持多重动画&#xff0c;横向纵向&#xff0c;多页面显示 项目地址&#xff1a;https://github.com/alibaba/UltraViewPager 2、android版本更新功能。使用retrfit2 rxjava2 okhttp3实现多文件多线程下载&am…

10个前端动画库让你的交互更加炫酷

Animate.css animate.css 是一个使用CSS3的animation制作的动画效果的CSS集合,里面预设了很多种常用的动画,且使用非常简单。 GitHub:github.com/animate-css… Hover.css Hover.css 是一套基于 CSS3 的鼠标悬停效果和动画,这些可以非常轻松的被应用到按钮、LOGO 以及图…

VUE 常用炫酷动画库(拿来即用系列)

目录 打字机效果Vue动画库 代码示例 效果 炫酷背景动画库 代码示例 效果 打字机效果Vue动画库 npm install vue-typical 代码示例 <template><div><v-typicalclass"blink":steps"[Hello, 1000, Hello World !, 600, Hello World ! &#…

NPM酷库:lru-cache 基于内存的缓存管理

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 为了优化程序性能&#xff0c;我们常常需要奖数据缓存起来&#xff0c;根据实际情况&#xff0c;我们可以将数据存储到磁盘、数据库、redis等。 但是有时候要缓存的数据量非常小&#xff0c;或者项目规模非常小&…

NPM酷库:jsdom,纯JS实现的DOM

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 昨天认识了一个在Node.js环境下操作HTML的库 cheerio&#xff0c;cheerio实现了jQuery接口&#xff0c;用起来十分方便。为什么不直接用jQuery呢&#xff1f;因为Node.js环境中没有实现DOM对象。 jsdom 今天&…

NPM酷库:string-random,生成随机字符串

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 昨天&#xff0c;我们了解了如何使用uuid库快速生成UUID&#xff0c;UUID适用于分布式应用中ID的生成&#xff0c;因为UUID足够长&#xff0c;所以碰撞几率非常低。 此外&#xff0c;我们在很多时候不需要生成像…

NPM酷库:vm2,安全的沙箱环境

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 今天我们要了解的库是 vm2&#xff0c;则是一个Node.js 官方 vm 库的替代品&#xff0c;主要解决了安全问题。 不安全的vm 在Node.js官方标准库中有一个vm库&#xff0c;用来在V8虚拟机环境中编译执行JS代码。通…

NPM酷库:uuid,生成随机ID

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 在中心化应用中&#xff0c;数据记录的ID往往是数据库生成的自增ID&#xff0c;但是在分布式应用中&#xff0c;就会存在一些问题&#xff1a; 保存数据之前就需要给数据标识ID数据规模超级大&#xff0c;中央数…

NPM酷库:chokidar监视文件变化

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 像 webpack / grunt /gulp 等工具都提供watch模式&#xff0c;当磁盘文件变化后自动重新运行打包。今天我们要学习的chokidar就是一款专门用于文件监控的库。 Node.js 标准库 其实Node.js 标准库中提供 fs.watch…

这几十个前端炫酷库你都知道吗?

茶已备好&#xff0c;只待君来&#xff01;感谢关注 前端点线面 (>‿<&#xff09;&#xff0c;本号定期推荐原创深度好文&#xff0c;帮助每一位在前端领域打拼的伙伴们走向前列&#xff0c;此外关注我获取最前沿知识点、海量学习资料、《前端百题斩》、大量思维导图&am…

NPM酷库:ip,IP地址处理

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 今天我们来了解一个专门用来处理IP地址的库&#xff1a;ip&#xff0c;ip库能够获取本机IP地址、比较、转换、掩码/子网计算等各种和网络IP相关的操作&#xff1a; const ip require(ip);// 获取本机网卡IP ip.…

NPM酷库:globby,增强版的glob

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 昨天&#xff0c;我们学习了一个新库 glob&#xff0c;用于模式匹配目录文件。今天&#xff0c;我们要了解的globby&#xff0c;是基于 glob&#xff0c;并进一步得到了增强了功能。 globby 特性 相对于 glob&am…

vue2 路由入门

一、单页应用程序介绍 1.概念 单页应用程序&#xff1a;SPA【Single Page Application】是指所有的功能都在一个html页面上实现 2.具体示例 单页应用网站&#xff1a; 网易云音乐 https://music.163.com/ 多页应用网站&#xff1a;京东 https://jd.com/ 3.单页应用 VS 多页…

c++ 判断基类指针指向的真实对象类型

在 c 面向对象使用中&#xff0c;我们常常会定义一个基类类型的指针&#xff0c;在运行过程中&#xff0c;这个指针可能指向一个基类类型的对象&#xff0c;也可能指向的是其子类类型的对象&#xff0c;那现在问题来了&#xff0c;我们如何去判断这个指针到底执行了一个什么类型…

Markdown中的LaTeX公式详解

引言 LaTeX是一种用于排版科学和数学文档的排版系统&#xff0c;它能够以高质量的方式生成复杂的数学公式。在CSDN&#xff08;Cnblogs和CSDN&#xff09;这样的博客平台中&#xff0c;也支持使用LaTeX语法插入数学公式。本文将详细介绍在CSDN中使用LaTeX公式的方法和常用语法&…

IgA | 对抗病原菌,帮助共生菌定植的“重要开关”

导 语&#xff1a;关于抗体&#xff0c;免疫和微生物 肠道微生物群的组成因个体而异&#xff0c;肠道微生物群中的特定细菌类群可能是某些肠内外疾病的独特有效驱动因素。对人类而言&#xff0c;精准且优先识别影响疾病易感性和严重性的细菌仍然是一项重大挑战。 很多时候我们想…

医院信息系统服务器存储维护,首都医科大学宣武医院电子病历系统服务器及存储设备维护服务项目招标公告...

产品介绍  飞顿lovely AFT是一台功能全面的皮肤美容工作站&#xff0c;它应用了光子领域最前沿的技术和科学成果&#xff0c;将一个工作平台与四个光子设备对接&#xff0c;组成一个功能十分强大的光子工作站。它可独立解决皮肤美容的各种问题&#xff0c;是目前应用最广泛&a…

合成生物学公司如何操纵微生物组

来源&#xff1a;肠道产业 这是《肠道产业》第 807 篇文章 编者按 近年来&#xff0c;合成生物学领域的研究不断推进&#xff0c;许多公司纷纷出手&#xff0c;将合成生物学用于治疗各种各样的疾病&#xff0c;包括靶向微生物组。那么有哪些在微生物组领域探索的合成生物学公司…

相机下载_美颜轻相机最新版下载-美颜轻相机app下载v1.70206 安卓版

美颜轻相机app是一款超棒的美颜相机工具。专业的实时相机&#xff0c;大量的各种滤镜挑选&#xff0c;丰富智能的功能拍照&#xff0c;完美的拍出你喜欢的效果&#xff01;还能自由补光&#xff0c;延迟拍照等等&#xff0c;功能强大&#xff01; 美颜轻相机最新版介绍 【魅力彩…