日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

小米编程真题:风口的猪-中国牛市

發(fā)布時間:2023/12/16 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小米编程真题:风口的猪-中国牛市 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

風口之下,豬都能飛。當今中國股市牛市,真可謂“錯過等七年”。 給你一個回顧歷史的機會,已知一支股票連續(xù)n天的價格走勢,以長度為n的整數(shù)數(shù)組表示,數(shù)組中第i個元素(prices[i])代表該股票第i天的股價。 假設(shè)你一開始沒有股票,但有至多兩次買入1股而后賣出1股的機會,并且買入前一定要先保證手上沒有股票。若兩次交易機會都放棄,收益為0。 設(shè)計算法,計算你能獲得的最大收益。 輸入數(shù)值范圍:2<=n<=100,0<=prices[i]<=100。
示例1
輸入:3,8,5,1,7,8
輸出:12

方法一

遍歷:由于至多兩次買入1股而后賣出1股的機會,并且買入前一定要先保證手上沒有股票。所以我們可以將prices[]分為兩份0-i,i-prices.length,分別計算兩部分的最大值,然后遍歷i,求出和的最大值
步驟:1、創(chuàng)建求最大值的方法,輸入prices[]、start、end,輸出開始結(jié)束區(qū)間內(nèi)差的最大值max
2、將數(shù)組分為兩部分,進行遍歷。

代碼如下

public class Solution {/*** 計算你能獲得的最大收益* * @param prices Prices[i]即第i天的股價* @return 整型*/public int calculateMax(int[] prices) {int sum=0;//儲存兩次最大收益和for(int i=1;i<prices.length;i++){int index=getMaxDifference(prices,0,i)+getMaxDifference(prices,i,prices.length-1);if(sum<index){sum=index;}}return sum;}public static int getMaxDifference(int [] prices,int start,int end){int min=prices[start];int max=0;for(int i =start+1;i<=end;i++){if(max<prices[i]-min){max=prices[i]-min;}if (min>prices[i]){min=prices[i];}}return max;} }

方法二

public class Solution {/*** 計算你能獲得的最大收益* * @param prices Prices[i]即第i天的股價* @return 整型*/public int calculateMax(int[] prices) {int firstBuy = Integer.MAX_VALUE;//第一次買入的價格// 接下來都是買入賣出之后的收益int afterFirstSell = 0;int afterSecondBuy = Integer.MIN_VALUE;int afterSecondSell = 0;for (int curPrice: prices){//第一次買入的價格應(yīng)該是越小越好,最好是負數(shù),倒貼錢firstBuy = Math.min(firstBuy, curPrice);//第一次賣出后的收益,等于當前價格減去第一次買入價格,越高越好afterFirstSell = Math.max(afterFirstSell, curPrice - firstBuy);//第二次買入后的收益,等于第一次賣出后的收益減去當前價格,越高越好afterSecondBuy = Math.max(afterSecondBuy, afterFirstSell - curPrice);//第二次賣出后的收益,等于第二次買入后的收益加上當前價格,越高越好afterSecondSell = Math.max(afterSecondSell, afterSecondBuy + curPrice);}return afterSecondSell;} }

總結(jié)

以上是生活随笔為你收集整理的小米编程真题:风口的猪-中国牛市的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。