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

网站制作技术人员网站网站做代理微信群卖房卡

网站制作技术人员,网站网站做代理微信群卖房卡,crm管理系统登录入口官网,视频网站开发报告算法训练营 day41 单调递增的数字 买卖股票的最佳时机含手续费 单调递增的数字 738. 单调递增的数字 - 力扣&#xff08;LeetCode&#xff09; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c…

算法训练营 day41 单调递增的数字 买卖股票的最佳时机含手续费

单调递增的数字

738. 单调递增的数字 - 力扣(LeetCode)

当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。

给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。

例如:98,一旦出现strNum[i - 1] > strNum[i]的情况(非单调递增),首先想让strNum[i - 1]–,然后strNum[i]给为9,这样这个整数就是89,即小于98的最大的单调递增整数。

局部最优:遇到strNum[i - 1] > strNum[i]的情况,让strNum[i - 1]–,然后strNum[i]给为9,可以保证这两位变成最大单调递增整数

全局最优:得到小于等于N的最大单调递增的整数

但这里局部最优推出全局最优,还需要其他条件,即遍历顺序,和标记从哪一位开始统一改成9

举个例子,数字:332,从前向后遍历的话,那么就把变成了329,此时2又小于了第一位的3了,真正的结果应该是299。

所以从前后向遍历会改变已经遍历过的结果!

那么从后向前遍历,就可以重复利用上次比较得出的结果了,从后向前遍历332的数值变化为:332 -> 329 -> 299

class Solution {public int monotoneIncreasingDigits(int n) {String s = n+"";char[] c  = s.toCharArray();int flag = c.length;for (int i = c.length-1; i>0; i--) {if (c[i-1]>c[i]){flag = i;c[i-1]--;}}for (int i = flag; i <c.length; i++) {c[i]='9';}return Integer.parseInt(String.valueOf(c));}
}

买卖股票的最佳时机含手续费

714. 买卖股票的最佳时机含手续费 - 力扣(LeetCode)

给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 ;整数 fee 代表了交易股票的手续费用。

你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。

返回获得利润的最大值。

注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。

如果使用贪心策略,就是最低值买,最高值(如果算上手续费还盈利)就卖。

此时无非就是要找到两个点,买入日期,和卖出日期。

  • 买入日期:其实很好想,遇到更低点就记录一下。
  • 卖出日期:这个就不好算了,但也没有必要算出准确的卖出日期,只要当前价格大于(最低价格+手续费),就可以收获利润,至于准确的卖出日期,就是连续收获利润区间里的最后一天(并不需要计算是具体哪一天)。

所以我们在做收获利润操作的时候其实有三种情况:

  • 情况一:收获利润的这一天并不是收获利润区间里的最后一天(不是真正的卖出,相当于持有股票),所以后面要继续收获利润。
  • 情况二:前一天是收获利润区间里的最后一天(相当于真正的卖出了),今天要重新记录最小价格了。
  • 情况三:不作操作,保持原有状态(买入,卖出,不买不卖)
class Solution {public int maxProfit(int[] prices, int fee) {int result=0;int minPrice = prices[0];for (int i = 1; i < prices.length; i++) {if (prices[i]<minPrice){minPrice = prices[i];}if (prices[i]>minPrice&&prices[i]<=minPrice+fee){}if (prices[i]>minPrice+fee){result+=prices[i]-minPrice-fee;minPrice=prices[i]-fee;}}return result;}
}
http://www.yayakq.cn/news/58050/

相关文章:

  • 网站开发工程师年薪多少如何建立一个论坛网站
  • 常州网站建设公司方案wordpress 评论样式
  • 网站前台管理系统欧洲applestore
  • 目前主流网站开发所用软件学做网站的步骤
  • 哪个网站能查是否做股东wordpress不用固定链接
  • 如何用word做网站地图天津深圳网站开发定制
  • 网站建设服务器的选择方案有八大处网站建设
  • 娄底建设公司网站织梦本地做的网站内网访问不
  • 网站建设是编程吗推荐一个两学一做的网站
  • wordpress gitg小黄人seo
  • dw网站建设代码深圳最好的外贸seo培训
  • 做网站与运营一般多少钱帮公司制作一个网站是如何收费
  • 义县城乡建设局网站百度站长论坛
  • 旧电脑做php网站服务器东莞设计网页
  • 网站建设公司现在还挣钱吗各国足球世界排名
  • 微信网站开发 全屏seo如何进行优化
  • 厦门网站建设68wordpress文章页的宽度
  • 怎么做校园表白墙网站自己如何做企业网站
  • 网站建设互诺科技做网站赚钱一般做什么
  • 清河网站建设设计费用上海建设银行网站转账记录吗
  • wordpress交易网站wordpress 文章编辑插件
  • 未备案 网站加速灵宝seo公司
  • 永州做网站tuantaogou手游传奇网站发布
  • 徐州公司建站模板福建省住房城乡和城乡建设厅网站
  • 网站建设书籍2013年的厦门建站系统建设
  • 品牌网站建设优化公司排名做推广最好的网站是哪个
  • 聂教练做0网站三个字吉利好听的公司名称
  • wordpress商城建站对外贸易网站有哪些
  • 东莞网站seo价格daozicms企业建站系统
  • 做做网站下载2023网站为何突然不收录了