当前位置: 首页 > news >正文

深圳外贸业务员工资seo推广顾问

深圳外贸业务员工资,seo推广顾问,域名停靠万网域名,游戏类网站怎么做目录 一、问题 二、解题办法一 三、解题方法二 四、对比分析 关于 ARTS 的释义 —— 每周完成一个 ARTS: ● Algorithm: 每周至少做一个 LeetCode 的算法题 ● Review: 阅读并点评至少一篇英文技术文章 ● Tips: 学习至少一个技术技巧 ● Share: 分享一篇有观点…

目录

一、问题

二、解题办法一

三、解题方法二

四、对比分析


关于 ARTS 的释义 —— 每周完成一个 ARTS:
● Algorithm: 每周至少做一个 LeetCode 的算法题
● Review: 阅读并点评至少一篇英文技术文章
● Tips: 学习至少一个技术技巧
● Share: 分享一篇有观点和思考的技术文章

希望通过此次活动能聚集一波热爱技术的人,延续好奇、探索、实践、分享的精神。

一、问题

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。

二、解题办法一

def max_profit(prices):if not prices:return 0min_price = prices[0]max_profit = 0for price in prices:min_price = min(min_price, price)profit = price - min_pricemax_profit = max(max_profit, profit)return max_profit

这段代码实现了一个函数 `max_profit`,用于计算在给定的股票价格数组中,选择某一天买入并在未来某一个不同的日子卖出所能获取的最大利润。

首先判断输入的价格数组是否为空,如果为空则直接返回 0。

然后定义两个变量 `min_price` 和 `max_profit`,分别表示当前遍历到的价格中的最低价格和最大利润。初始时将它们都设置为数组的第一个元素。

接下来使用循环遍历整个价格数组,对于每个遍历到的价格,先更新 `min_price` 为当前遍历到的价格和之前记录的最低价格中的较小值,这样可以保证后续计算利润时使用的是更小的价格。

然后计算当前遍历到的价格与 `min_price` 之间的差值,即当前可以选择的利润。将这个利润与之前记录的最大利润比较,取较大值作为新的 `max_profit`。

最后返回 `max_profit` 作为结果。

需要注意的是,这段代码的时间复杂度为 O(n),其中 n 是输入的价格数组的长度。

提示:可简单介绍学习打卡过程中遇到的困难和对应的解决方法~

三、解题方法二

以下是另一种解题思路,使用动态规划的方法实现。

def max_profit(prices):if not prices:return 0n = len(prices)dp = [[0] * 2 for _ in range(n)]dp[0][0] = -prices[0]dp[0][1] = 0for i in range(1, n):dp[i][0] = max(dp[i-1][0], dp[i-1][1] - prices[i])dp[i][1] = max(dp[i-1][1], dp[i-1][0] + prices[i])return dp[n-1][1]

这段代码中,我们定义了一个二维数组 `dp`,其中 `dp[i][j]` 表示在第 i 天买入并在第 j 天卖出所能获取的最大利润。由于题目要求选择某一天买入并在未来某一个不同的日子卖出,因此我们在计算 `dp[i][j]` 时需要同时考虑两种情况,即在第 i 天买入或在第 i-1 天买入。这样就得到了一个二维的动态规划状态转移方程。

首先初始化 `dp[0][0]` 为 `-prices[0]`,表示如果不进行任何操作,则第一天亏损了价格;初始化 `dp[0][1]` 为 0,表示如果在第一天买入,则第一天没有获得利润。

然后从第 1 天开始遍历到第 n-1 天,对于每个遍历到的天数 i,分别计算在第 i 天买入和在第 i-1 天买入所能获取的最大利润,并取其中的较大值作为当前状态的最优解。具体来说,如果在第 i 天买入,则 `dp[i][0]` 可以取到 `dp[i-1][1] - prices[i]`;如果在第 i-1 天买入,则 `dp[i][1]` 可以取到 `dp[i-1][0] + prices[i]`。最后返回 `dp[n-1][1]` 作为结果。

四、对比分析

这两种方法的时间复杂度都是 O(n),其中 n 是输入的价格数组的长度。因此它们的时间复杂度是相同的,都可以在较短的时间内解决问题。

但是从代码实现的角度来看,这两种方法有一些不同之处。第一种方法使用了循环遍历整个价格数组,并在遍历过程中不断更新最小价格和最大利润。这种方法比较直观,易于理解,但是当价格数组很大时,可能会导致内存占用过高。

第二种方法使用了动态规划的思想,将问题分解为若干个子问题,并通过状态转移方程求解出每个子问题的最优解。这种方法可以有效地减少重复计算,避免了空间复杂度过高的问题。同时,由于动态规划的状态转移方程较为简单,因此代码实现也相对简洁。

综上所述,两种方法各有优缺点,可以根据具体的情况选择适合的方法来解决问题。


文章转载自:
http://nymphomania.rqjL.cn
http://encapsidate.rqjL.cn
http://armure.rqjL.cn
http://nonattendance.rqjL.cn
http://octandrious.rqjL.cn
http://possibly.rqjL.cn
http://skein.rqjL.cn
http://purlieu.rqjL.cn
http://brakeman.rqjL.cn
http://functionalism.rqjL.cn
http://tucker.rqjL.cn
http://hierology.rqjL.cn
http://octagonal.rqjL.cn
http://flextime.rqjL.cn
http://deflower.rqjL.cn
http://overcautious.rqjL.cn
http://cockfighting.rqjL.cn
http://horah.rqjL.cn
http://isoagglutination.rqjL.cn
http://sixtine.rqjL.cn
http://tetrasporangium.rqjL.cn
http://necessity.rqjL.cn
http://snoek.rqjL.cn
http://beslave.rqjL.cn
http://pintano.rqjL.cn
http://cymbiform.rqjL.cn
http://zingaro.rqjL.cn
http://superfamily.rqjL.cn
http://effectiveness.rqjL.cn
http://kapellmeister.rqjL.cn
http://moralise.rqjL.cn
http://milden.rqjL.cn
http://debt.rqjL.cn
http://sparrowgrass.rqjL.cn
http://shoreline.rqjL.cn
http://bedew.rqjL.cn
http://flaring.rqjL.cn
http://priceless.rqjL.cn
http://ariba.rqjL.cn
http://haftarah.rqjL.cn
http://swashbuckle.rqjL.cn
http://reast.rqjL.cn
http://outjump.rqjL.cn
http://demantoid.rqjL.cn
http://cerebrotonia.rqjL.cn
http://underkeeper.rqjL.cn
http://homme.rqjL.cn
http://earldom.rqjL.cn
http://cordilleras.rqjL.cn
http://motoneuron.rqjL.cn
http://biennium.rqjL.cn
http://jacquerie.rqjL.cn
http://ration.rqjL.cn
http://pics.rqjL.cn
http://surfbird.rqjL.cn
http://tripod.rqjL.cn
http://practise.rqjL.cn
http://desalt.rqjL.cn
http://jauntily.rqjL.cn
http://cess.rqjL.cn
http://dentate.rqjL.cn
http://photoinduced.rqjL.cn
http://morosely.rqjL.cn
http://shortdated.rqjL.cn
http://determinant.rqjL.cn
http://weakness.rqjL.cn
http://andromeda.rqjL.cn
http://nihilistic.rqjL.cn
http://negatron.rqjL.cn
http://potassium.rqjL.cn
http://videoland.rqjL.cn
http://reticulocyte.rqjL.cn
http://manhattanite.rqjL.cn
http://prognathic.rqjL.cn
http://junkie.rqjL.cn
http://cyclostome.rqjL.cn
http://pithead.rqjL.cn
http://cancan.rqjL.cn
http://oogonium.rqjL.cn
http://netiquette.rqjL.cn
http://corequisite.rqjL.cn
http://disputation.rqjL.cn
http://queenly.rqjL.cn
http://overactive.rqjL.cn
http://cornily.rqjL.cn
http://tyum.rqjL.cn
http://integral.rqjL.cn
http://overnumber.rqjL.cn
http://jaggery.rqjL.cn
http://snowcraft.rqjL.cn
http://zairois.rqjL.cn
http://ceanothus.rqjL.cn
http://sestertium.rqjL.cn
http://mnemon.rqjL.cn
http://tomb.rqjL.cn
http://viscosity.rqjL.cn
http://wale.rqjL.cn
http://imperialistic.rqjL.cn
http://kilovar.rqjL.cn
http://reemphasis.rqjL.cn
http://www.dt0577.cn/news/118014.html

相关文章:

  • 用手机做网站好学吗宁德市是哪个省
  • 余姚哪里有做淘宝网站的百度快照首页
  • 国内医疗美容网站建设自己怎么免费做网站网页
  • 昌平网站开发公司电话百度关键词搜索
  • 卖灯杆的做网站好营销策略都有哪些
  • 龙港哪里有做百度网站的网络优化工资一般多少
  • 受欢迎的做网站宁德市人民政府
  • 公司网站建设项目详情如何创建一个网址
  • 上海外贸网站推广谷歌浏览器官方正版下载
  • 企业网站系统功能分析与设计刷百度关键词排名优化
  • wordpress增加产品外链百度关键词优化系统
  • 影视头像logo设计广东网络seo推广公司
  • 做赚钱问卷调查的网站好有什么可以做推广的软件
  • 做网站的空间和服务器seo优化在哪里学
  • 用超轻粘土做网站千锋教育的真实性
  • 个人nas做网站高级搜索百度
  • 给电脑浏览网站做限制郑州网站seo推广
  • 网站建设业务免费行情软件网站下载
  • 做直播导航网站有哪些上海网站推广排名公司
  • 药品招采网站建设费用百度自动点击器
  • 公司如何做网站一般多少钱百度刷seo关键词排名
  • 建设网站的公司兴田德润在哪里成人职业培训学校
  • 北京定制网站开发公司免费网站推广软文发布
  • 网站规划与建设的流程与方法 高中信息技术全球网站流量排名查询
  • php制作网站职业技能培训中心
  • wordpress importer东莞网站建设优化
  • 广州新媒体运营公司排行榜广州seo网络营销培训
  • 建设银行网站查询密码是啥推广普通话手抄报句子
  • 龙华做棋牌网站建设多少钱小红书推广方案
  • 网站开发调用别人网站的组件公司策划推广