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

北京专业做网站设计公司杨凌网站开发

北京专业做网站设计公司,杨凌网站开发,网页游戏网络游戏,国内比百度好的搜索引擎文章目录 738. 单调递增的数字题目描述思路贪心算法代码逻辑梳理#xff1a; 738. 单调递增的数字 题目描述 当且仅当每个相邻位数上的数字 x 和 y 满足 x y 时#xff0c;我们称这个整数是单调递增的。 给定一个整数 n #xff0c;返回 小于或等于 n 的最大数字 738. 单调递增的数字 题目描述 当且仅当每个相邻位数上的数字 x 和 y 满足 x y 时我们称这个整数是单调递增的。 给定一个整数 n 返回 小于或等于 n 的最大数字且数字呈 单调递增 。 示例 1: 输入: n 10 输出: 9 示例 2: 输入: n 1234 输出: 1234 示例 3: 输入: n 332 输出: 299 提示: 0 n 109 思路 题目要求小于等于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编写的用于解决寻找小于或等于给定整数且为单调递增的最大数字的问题。下面是对这段代码的详细注释 // 定义Solution类 class Solution { public:// 主函数用于找到小于或等于n的最大单调递增数字int monotoneIncreasingDigits(int n) {// 将整数n转换成字符串s以便逐位处理string s to_string(n);// 初始化标志位flag为字符串s的长度用于标记从哪一位开始后面的数字都设置为9int flag s.size();// 从字符串的最后一位开始向前遍历寻找不满足单调递增的位置for(int i s.size() - 1; i 0; i--) {// 如果当前位的前一位大于当前位则需要进行调整if(s[i - 1] s[i]) {// 当前位的前一位减1以满足单调递增的条件s[i - 1] - 1;// 更新flag从当前位开始后面的数字都应该设置为9flag i;}}// 根据flag将flag位置及之后的所有位设置为9for(int i flag; i s.size(); i)s[i] 9;// 将处理后的字符串转换回整数并返回return stoi(s);} };代码逻辑梳理 这个问题的关键在于找到从哪一位开始数字不再满足单调递增的条件并且如何调整这个数字及其后续的数字使得结果是小于等于n的最大单调递增数字。 字符串转换首先将整数n转换为字符串s这样可以便于逐位检查和修改数字。 反向遍历从字符串的最后一位开始向前遍历寻找第一个不满足单调递增的位置。这是通过比较当前位的前一位和当前位实现的。 调整数字当找到一个不满足条件的位置时将前一位数字减1并记录这个位置到flag中。这样做的原因是减小前一位数字后为了保证结果是最大的从当前位开始直到字符串末尾的所有数字都应该设置为9。 更新后续位根据flag将从flag开始到字符串末尾的所有位设置为9。 结果转换最后将修改后的字符串转换回整数返回。 这个解决方案巧妙地通过调整数字和后续位填充9的方式确保了得到的结果既是单调递增的又是小于等于原始数字n的最大值。
http://www.pierceye.com/news/808711/

相关文章:

  • 竞价网站单页网页设计师中级证书有用吗
  • 做网站 简单外包wordpress 插件api
  • 白城网站seo新手怎么建立自己网站
  • 建立用模板建立网站wordpress feed
  • 株洲品牌网站建设优质的杭州网站优化
  • 网站开发在哪个科目核算网站平台怎么做的好处
  • 网站底部模板代码江苏建站系统
  • 写出网站开发的基本流程品牌建设网站
  • 河北省建设机械协会网站双减之下托管班合法吗
  • 江门市城乡建设局网站阿里云万网域名购买
  • 网站推广技术哪家好专业网站开发建设
  • 义乌营销型网站建设淘宝做动图网站
  • dedecms能做什么网站素材网站怎么做
  • 一流导航设计网站wordpress 七牛 插件
  • 新开元电销系统济南网站优化技术厂家
  • 有名的网站建设wordpress安装到主机
  • 网站建设的指导思想p2p金融网站建设
  • 可在哪些网站做链接郑州展厅设计公司
  • 怎么可以黑网站域名做网页的心得体会
  • 设计素材免费下载网站做广告牌子
  • 名师工作室网站建设 意义常州网站建设专业的公司
  • 中国建设银行官网站预定红念币天元建设集团有限公司地址
  • wix做网站教程网站建设 销售提成
  • 长安网站建设费用开天猫旗舰店网站建设
  • 网页游戏网站哪个最好专业建站公司建站系统该规划哪些内容
  • 青岛网站建设公司大全在那些网站上做企业宣传好
  • 天河定制型网站建设中国科技成就的例子
  • 网站报备查询android安卓软件下载
  • 百度站长平台网站验证wordpress关闭略缩图
  • 网站怎么做qq微信登陆界面设计的有趣的网站推荐