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

如何打开网页如何优化关键词搜索

如何打开网页,如何优化关键词搜索,番禺网站 建设信科网络,专注聊城做网站的公司文章目录 738.单调递增的数字思路分析代码实现 738.单调递增的数字 题目链接🔥🔥 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。 (当且仅当每个相邻位数上的…

文章目录

  • 738.单调递增的数字
    • 思路分析
    • 代码实现

738.单调递增的数字

题目链接🔥🔥
给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。
(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)

示例 1:
输入: N = 10
输出: 9

示例 2:
输入: N = 1234
输出: 1234

示例 3:
输入: N = 332
输出: 299
说明: N 是在 [0, 10^9] 范围内的一个整数。

思路分析

暴力解法会超时。
题目要求小于等于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 - 1]减一了,可能又小于strNum[i - 2]。

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

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

确定了遍历顺序之后,那么此时局部最优就可以推出全局,找不出反例,试试贪心。

代码实现

C++代码如下:

class Solution {
public:int monotoneIncreasingDigits(int N) {string strNum = to_string(N);// flag用来标记赋值9从哪里开始// 设置为这个默认值,为了防止第二个for循环在flag没有被赋值的情况下执行int flag = strNum.size();for (int i = strNum.size() - 1; i > 0; i--) {if (strNum[i - 1] > strNum[i] ) {flag = i;strNum[i - 1]--;}}for (int i = flag; i < strNum.size(); i++) {strNum[i] = '9';}return stoi(strNum);}
};

我的:
我的是从前向后遍历的,用一个maxindex来记录目前出现过的最大的数(如果有332这种,就记录第一个3,这样结果是299,否则结果是329就不对了),其实maxindex就是记录一旦出现递减的数,该从哪里开始自减。

class Solution {
public:int monotoneIncreasingDigits(int n) {string strn=to_string(n);int maxindex=0;for(int i=1;i<strn.size();i++){if(strn[i]>strn[i-1]) maxindex=i;if(strn[i]<strn[i-1]){strn[maxindex]--;for(int j=maxindex+1;j<strn.size();j++) strn[j]='9';}}int result=stoi(strn);return result;}
};

http://www.mmbaike.com/news/83180.html

相关文章:

  • 小说网站建站程序网站制作和推广
  • wordpress responsive theme百度seo排名点击软件
  • 区县12380网站建设情况国际免费b站
  • 北京建商城网站百度商家
  • 彩票推广网站如何做网络推广是什么工作内容
  • 烟台开发区网站制作公司武汉建站优化厂家
  • 写作网站最大网站建设及网站推广
  • 太原做网站公司运营电商关键词工具
  • 做技术分享网站 盈利网络优化的工作内容
  • wordpress口语主题重庆seo培训
  • 医院网站开发多少钱竞价推广专员
  • 哪里有网站做爰视频关键词优化心得
  • pc端网站营销2022年传销最新消息
  • 怎么建立企业网站平台seo培训机构排名
  • 网站建设与运营总结全网营销策划公司
  • 做什么网站最赚钱百度seo优化培训
  • 韦博在上面做课件的网站叫什么百度保障中心人工电话
  • 河南省建设厅执业资格注册中心太原seo
  • 天津网站建设icp备seo网站优化培
  • 网站开发页面怎么进线上营销渠道主要有哪些
  • 做外贸企业网站西安网站制作费用
  • 北京 网站建设 公司河源今日头条新闻最新
  • 广东网站开发哪家aso平台
  • 网页制作全过程视频seo整体优化步骤怎么写
  • 网站做推广有用吗北京网站建设制作公司
  • 仿站小工具下载河南网站开发公司
  • 优化设计四年级下册数学答案seo页面链接优化
  • seopc流量排名官网南昌seo教程
  • seo网站做推广价格淘宝关键词搜索排行榜
  • 自己建网站数据怎么做网站营销软文