首页 > 其他分享 >714. 买卖股票的最佳时机含手续费(leetcode)

714. 买卖股票的最佳时机含手续费(leetcode)

时间:2024-09-07 13:46:45浏览次数:1  
标签:fee int max 714 最佳时机 prices leetcode

https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/

class Solution {
    public int maxProfit(int[] prices, int fee) {
        // f[i][j] 表示前i天进行交易购买,j=0表示持有股票,j=1表示未持有股票,划分两个状态
        // f[i][0] = max(f[i-1][0],f[i-1][1]-prices[i]);
        // f[i][1] = max(f[i-1][1],f[i-1][1]+prices[i]-fee);
        // f[1][0]= 0 - prices[0];
        // f[1][1] = 0;
        int[][] f = new int[prices.length+1][2];
        f[1][0]=-prices[0];
        for(int i=2;i<=prices.length;i++)
        {
            f[i][0]=Math.max(f[i-1][0],f[i-1][1]-prices[i-1]);
            f[i][1]=Math.max(f[i-1][1],f[i-1][0]+prices[i-1]-fee);
        }
        return f[prices.length][1];
    }
}

 

标签:fee,int,max,714,最佳时机,prices,leetcode
From: https://www.cnblogs.com/lxl-233/p/18401607

相关文章

  • Leetcode算法挑战:详解如何实现交替合并字符串的解题思路
    Leetcode算法挑战中的“交替合并字符串”问题,要求我们将两个字符串以交替的方式合并,终形成一个新的字符串。乍一看,这道题目似乎不复杂,但要写出高效且简洁的解法,还需要一定的思路和技巧。一、问题描述题目要求给定两个字符串word1和word2,将它们按照索引依次交替合并。如果某个......
  • LeetCode刷题-栈
    一:栈1、栈的特性:栈和队列不一样;队列是先进先出;而队列是先进后出;后进后出!2、栈的常见操作defcreate_stack():stack=[]#在python中;通常用列表实现栈的操作returnstackdefpush(stack,data):stack.append(data)#将data压入栈中defpeek(stack):returnsta......
  • 算法练习小技巧之有序集合--套路详细解析带例题(leetcode)
    前言:    本文详细讲解Python中的有序集合SortedList和C++中的有序集合multiset的用法,配合leetcode的例题来展示实际的用处。(本人水平不够,还无法讲解有序集合的实现方法,只会用)    觉得有帮助或者写的不错可以点个赞,后面也有几道我找出来的题目可以用这个方......
  • 2024.9.6 leetcode 70 爬楼梯 (哈希表/动态规划)
    题面70.爬楼梯-力扣(LeetCode)题解:极其经典的一道动态规划,比如要跳到10楼有f(10)种方法,可以分为1、先跳到9楼再往上跳1楼2、先跳到8楼再往上跳2楼,所以f(10)=f(8)+f(9),昨天复习了哈希表,所以用哈希练习一下。classSolution{public:intclimbStairs(intn){uno......
  • Leetcode面试经典150题-210.课程表II
    这个题是图的问题,因为图的拓扑排序在实际应用中有非常多的用途图,所以最近考的越来越多解法都在代码里,不懂就留言或者私信看这个题之前一定要好好看看207题我写的题解,也许207看懂了的话,210只是一个coding问题了Leetcode面试经典150题-207.课程表-CSDN博客一定要看!一定要看!......
  • LeetCode Hot100刷题记录-21. 合并两个有序链表
    题目描述:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。需要知道的pre-knowledge:list1和list2起初可直接代表两个链表的头节点,无需用另外的变量比如current来表示头节点。思路:准备一个虚拟节点,指向合并完成新链表的h......
  • LeetCode Hot100刷题记录-206. 反转链表
    206.反转链表题目描述:给你单链表的头节点head,请你反转链表,并返回反转后的链表。这道题要用到两个指针,一个current指向当前节点,另一个prev指向当前节点的上一个节点。首先让current指向头节点head,prev指向head的前一个也就是null,这里要用next变量来暂时存储current的下一个......
  • 0906 shell编程与基础算法(leetCode)
    哈希表的基本知识:哈希表(HashTable)又称散列表,是除顺序存储结构、链式存储结构和索引表存储结构之外的又一种存储结构。哈希碰撞:解决办法开放定址法:是一类以发生冲突的哈希地址为自变量,通过某种哈希冲突函数得到一个新的空闲的哈希地址的方法。(1)线性探测法从发生冲突的地......
  • 2024.9.4 leetcode 169 多数元素 (哈希表)
    题面 169.多数元素-力扣(LeetCode)题解:复习(自学)了一下哈希表,unordered_map<int,int>umap定义一个表umap.find(nums[i])!=umap.end()判断是否存在umap.insert({nums[i],1})插入umap.erase(nums[i])清除C++容器类<unordered_map>|菜鸟教程(runoob.com)class......
  • leetcode刷题day9|字符串部分(151.翻转字符串里的单词、卡码网:55.右旋转字符串)
    前言:字符串章节的第二部分,复习第一部分的知识加提升。151.翻转字符串里的单词链接:https://leetcode.cn/problems/reverse-words-in-a-string/前言:不使用Java内部方法实现思路:先去除字符串中的空格;将整个字符串反转;将单词再一次反转。代码如下:classSolution{pub......