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

网站网页设计工作内容百度引擎搜索推广

网站网页设计工作内容,百度引擎搜索推广,wordpress访问慢,网站宣传页1、题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的…

1、题目

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

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

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


2、示例

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

 3、解题思路

该题有两种解决方法:

1.暴力法:

通过遍历取出数组中的每一个元素,并跟剩下的元素进行求差的结果再与最大利润进行比较,如此循环找出最大利润值。

2.动态规划法(优解):

首先假设第i天是获取最大的利益值,那么购入时候肯定是在集合[0,i-1]的范围里面找到其中的最小值,然后两者的价格相减就是我们要的最大利益。


4、LeetCode代码与案例代码

1.暴力法

LeetCode代码:

class Solution {public int maxProfit(int[] prices) {int maxProfit = 0;for (int i=0;i< prices.length-1;i++){for (int j=i+1;j< prices.length;j++){if (prices[j] - prices[i]>maxProfit){maxProfit = prices[j] - prices[i];}}}return maxProfit;}
}

案例代码:

package LettCode05;public class javaDemo {public static void main(String[] args) {int nums[] =new int[]{7,6,4,3,1};
//        暴力解法int maxProfit = 0;for (int i=0;i< nums.length-1;i++){for (int j=i+1;j< nums.length;j++){if (nums[j] - nums[i]>maxProfit){maxProfit = nums[j] - nums[i];}}}System.out.println("最大利润为"+maxProfit);}
}

 

 

总结:时间复杂度为O(n^2),空间复杂度为O(1);

2.动态规划法

LeetCode代码:

class Solution {public int maxProfit(int[] prices) {int lowPrice = Integer.MAX_VALUE;int max_profit= 0;for(int i=0;i<prices.length;i++){if (prices[i]<lowPrice){lowPrice = prices[i];}else if(prices[i] - lowPrice >max_profit){max_profit = prices[i] - lowPrice;}}return max_profit;}
}

案例代码:

package LeetCode06;public class javaDemo {public static void main(String[] args) {int prices[] = new int[]{7,1,5,3,6,4};
//        动态规划int max_profit = 0;int lowPrice = Integer.MAX_VALUE;for (int i=0;i<prices.length;i++){
//            找到第i天前的最小值if (prices[i]<lowPrice){lowPrice = prices[i];
//                某天的值减去这天前的最小值就是这天的最大利益
//                通过比较每一天的利益大小得到最大利益}else if (prices[i]-lowPrice>max_profit){max_profit = prices[i]-lowPrice;}}System.out.println("最大利润为"+max_profit);}
}

 

 

 

总结:该方法的时间复杂度为O(n),空间复杂度为O(1)

http://www.khdw.cn/news/7172.html

相关文章:

  • 用微魔方做的网站一定要加地推团队
  • 网站建设招聘怎样把自己的产品放到网上销售
  • 怎样用java 做网站百度竞价投放
  • 网站未备案做seo会被k吗安卓优化大师app下载安装
  • 石家庄长安区网站建设公司百度问一问人工客服怎么联系
  • html5手机网站整套模板seo流量工具
  • 做网站是不是要模板今日的最新新闻
  • 做网站运营难吗google关键词seo
  • 宜昌视频网站建设不需要验证码的广告平台
  • 网站编辑器是怎么做的爱网
  • asp网站建设教程网络口碑推广公司
  • 部队门户网站建设方案如何搭建一个自己的网站
  • 公司旅游视频网站模板免费独立站自建站网站
  • 邢台微信网站能去百度上班意味着什么
  • 创意工作室网站百度搜索简洁版网址
  • 国外设计网站behance网址广州aso优化
  • 鞋子网站模板营销团队公司
  • 做精酿啤酒购买的网站微信营销推广软件
  • 企业网站备案要多久西安网络推广公司
  • 宁波网站建设方案报价网络产品运营与推广
  • 杭州vi设计策划优化网站页面
  • 企业建网站的意义全国疫情地区查询最新
  • 深圳的网站建设公司哪家好搜索排名查询
  • php做网站脑图重庆网站推广
  • 澄迈网站制作今日新闻网
  • 网站建设犭金手指C排名15营销型网站外包
  • 厦门百度搜索网站排名网络营销推广方案ppt
  • 网页设计作品到哪个网站网站建设费用多少钱
  • 酒店预订网站建设搜索引擎的工作原理是什么?
  • 如何在腾讯云做网站站内推广方式有哪些