在一家农场,有一群牛,每头牛都有一个市场价值,这个价值每天都会变化。农场主人可以选择在某一天买入一头,然后在某一天卖出之前买的全部牛。但是,农场主人不限制交易次数,且在买入新的牛之前不用卖掉手头上的牛。 现给你一个数组,表示每一天牛的市场价值,和一个整型 k,设计一个算法来计算农场主人最多能获得多少利润。 注意:你不能在同一天进行多次买入,但可以在同一天进行多次卖出。
示例1
输入
[3,3,5,0,0,3,1,4]
输出
16
说明
3,3买入,5卖出
0,0,3,1买入,4卖出
示例2
输入
[1,2,3,4,5]
输出
10
示例3
输入
[1,2,3,4,5,6,7,8,9,10]
输出
45
备注:
0 0 0
加载中...
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ public int maxProfitIII (int[] prices) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型vector * @return int整型 */ int maxProfitIII(vector
& prices) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param prices int整型一维数组 # @return int整型 # class Solution: def maxProfitIII(self , prices ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ public int maxProfitIII (List
prices) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ function maxProfitIII( prices ) { // write code here } module.exports = { maxProfitIII : maxProfitIII };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param prices int整型一维数组 # @return int整型 # class Solution: def maxProfitIII(self , prices: List[int]) -> int: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ func maxProfitIII( prices []int ) int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @param pricesLen int prices数组长度 * @return int整型 */ int maxProfitIII(int* prices, int pricesLen ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param prices int整型一维数组 # @return int整型 # class Solution def maxProfitIII(prices) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ def maxProfitIII(prices: Array[Int]): Int = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ fun maxProfitIII(prices: IntArray): Int { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ public int maxProfitIII (int[] prices) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ export function maxProfitIII(prices: number[]): number { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ func maxProfitIII ( _ prices: [Int]) -> Int { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ pub fn maxProfitIII(&self, prices: Vec
) -> i32 { // write code here } }
[3,3,5,0,0,3,1,4]
16
[1,2,3,4,5]
10
[1,2,3,4,5,6,7,8,9,10]
45