day37 贪心算法part6

news2024/11/16 17:47:58

738. 单调递增的数字

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

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

不知道怎么讲思路……以9287举例,从后往前遍历,87肯定不是递增的,那么是递增又满足小于87的最大数应该是79,然后变成9279,轮到27不满足,变成19,现在是9119,现在91不满足,变成89,最后满足的是8999。总之就是前一位减一,后一位变9.

难点:如何提取到每一位的数字并方便修改?最好把每一位拿下来,放到一个数组里,方便修改。

class Solution {
    public int monotoneIncreasingDigits(int n) {
        String s = String.valueOf(n); //装箱
        char[] chars = s.toCharArray();

        // flag用来标记赋值9从哪里开始
        // 设置为这个默认值,为了防止第二个for循环在flag没有被赋值的情况下执行
        int flag = chars.length;

        for (int i = chars.length - 1; i > 0; i--) { // 后往前遍历
            if ( chars[i] < chars[i - 1]) {
                chars[i - 1]--;
                // 标记不递增的地方是从哪里开始的,在那之后的都要变成9
                // 比如 93232,会被改为 89999, 100,会被改为99
                flag = i; 
            }
        }
        // 省略了下面这个不行,遇到100这种,过不去
        for (int i = flag; i < chars.length; i++){
            chars[i] = '9';
        }
        return Integer.parseInt(new String(chars)); // 或者 Integer.parseInt(String.valueOf(chars))
    }
}

968. 监控二叉树

困难
给定一个二叉树,我们在树的节点上安装摄像头。

节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。

计算监控树的所有节点所需的最小摄像头数量。

听卡哥的建议,这个题一刷先跳过

贪心总结:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1499728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【蓝桥杯】Excel地址

一.题目描述 二.问题分析 类似于进制转换 //Excel地址 #include <iostream> #include <stack> using namespace std;//const int N1e22; long long n; stack <char> s;int main(int argc, const char * argv[]) {ios::sync_with_stdio(0);cin.tie(0);cout.…

什么是工业边缘网关?工业边缘网关有什么作用?

在数字化和智能化的浪潮下&#xff0c;工业领域正迎来前所未有的变革。其中&#xff0c;工业边缘网关作为这场变革中的重要角色&#xff0c;正逐渐受到人们的关注。那么&#xff0c;什么是工业边缘网关&#xff1f;它如何在工业数字化中发挥作用&#xff1f;今天&#xff0c;就…

虾皮、lazada店铺运营攻略,如何搭建高效、稳定的自养号测评系统

随着电子商务的蓬勃发展&#xff0c;越来越多的人选择在虾皮这样的电商平台上开设店铺&#xff0c;以实现创业梦想。但如何在众多店铺中脱颖而出&#xff0c;成为消费者的首选?本文将为您详细解答“怎么样做好虾皮店铺”&#xff0c;并提供一些实用的运营建议。 一、怎么样做…

F1-score模型评估

什么是F1-score F1-score 是一种用于衡量分类模型性能的指标&#xff0c;它综合了精确度&#xff08;Precision&#xff09;和召回率&#xff08;Recall&#xff09;两个指标。F1-score 的值在 0 和 1 之间&#xff0c;值越接近 1&#xff0c;表示模型的性能越好。在文本分类任…

三八妇女节智慧花店/自动售花机远程视频智能监控解决方案

一、项目背景 国家统计局发布的2023年中国经济年报显示&#xff0c;全年社会消费品零售总额471495亿元&#xff0c;比上年增长7.2%。我国无人零售整体发展迅速&#xff0c;2014年市场规模约为17亿元。无人零售自助终端设备市场规模超过500亿元&#xff0c;年均复合增长率超50%。…

中科数安|防止公司电脑文件资料 \ 数据外泄

中科数安是一家提供企业信息安全解决方案的专业机构&#xff0c;针对防止公司电脑文件资料和数据外泄的问题&#xff0c;可能会提供如下类型的解决方案和服务&#xff1a; 1. **数据加密系统**&#xff1a;通过先进的透明加密技术&#xff0c;实现对公司电脑上的文件进行实时加…

京东获得JD商品详情 API 返回值说明|京东商品采集API接口接入

京东获得JD商品详情 API 返回值说明 item_get-获得JD商品详情 API测试 注册 jd.item_get 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&…

测试一下 Anthropic 宣称超过 GPT-4 的 Claude 3 Opus

测试一下 Anthropic 宣称超过 GPT-4 的 Claude 3 Opus 0. 引言1. 测试 Claude 3 Opus 0. 引言 今天测试一下 Anthropic 发布的 Claude 3 Opus。 3月4日&#xff0c;Anthropic 宣布推出 Claude 3 型号系列&#xff0c;该系列在广泛的认知任务中树立了新的行业基准。该系列包括…

@大学生必看内容!QT创建C++项目,并使用Opencv进行图像处理!

一、创建C项目 二、向C项目部署opencv。详细步骤&#xff1a;查看地址。 避坑&#xff01;&#xff01;

如何判断螺栓已经拧紧?——SunTorque智能扭矩系统

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 螺栓拧紧的标准并非仅仅依赖于螺栓的外观&#xff0c;而是依赖于几个关键因素&#xff0c;包括扭矩、预紧力和材料疲劳等。下面SunTorque智能扭矩系统和大家将详细讨论这些因素&#xff0c;并给出如何判断螺栓是否已经拧…

英语四级开始报名了?大学生如何三个月突破四级【文章底部添加进大学生就业交流群】

目录 一、明确考试内容与要求 二、制定合理的复习计划 三、注重听力和阅读能力的提升 四、加强词汇和语法的积累 五、多做真题和模拟题 英语四级考试&#xff0c;对于大多数大学生来说&#xff0c;是检验英语水平的一个重要标准。随着报名时间的来临&#xff0c;许多同学都…

设计模式(工厂模式)

设计模式&#xff08;工厂模式&#xff09; 一、工厂模式介绍 在工厂模式中&#xff0c;父类决定生成示例的方式&#xff0c;但不决定所要生成的具体的类&#xff0c;具体的处理部分交给子类负责。这样就可以将生成示例的框架和生成示例的类解耦。 二、示例程序 以下示例程…

07 | 行锁功过:怎么减少行锁对性能的影响?

MySQL 的行锁是在引擎层由各个引擎自己实现的。但并不是所有的引擎都支持行锁&#xff0c;比如 MyISAM 引擎就不支持行锁。不支持行锁意味着并发控制只能使用表锁&#xff0c;对于这种引擎的表&#xff0c;同一张表上任何时刻只能有一个更新在执行&#xff0c;这就会影响到业务…

HTML静态网页成品作业(HTML+CSS)——电影网首页网页设计制作(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品演示 三、代…

Flink ExecuteGraph构建源码解析

文章目录 前言ExecutionGraph中的主要抽象概念源码核心代码入口源码核心流程&#xff1a; 前言 在JobGraph构建过程中分析了JobGraph的构建过程&#xff0c;本文分析ExecutionGraph的构建过程。JobManager(JobMaster) 根据 JobGraph 生成 ExecutionGraph。ExecutionGraph是JobG…

keepalived原理以及lvs、nginx跟keeplived的运用

keepalived基础 keepalived的原理是根据vrrp协议&#xff08;主备模式&#xff09;去设定的 vrrp技术相关原理 状态机&#xff1b; 优先级0~255 心跳线1秒 vrrp工作模式 双主双备模式 VRRP负载分担过程 vrrp安全认证&#xff1a;使用共享密匙 keepalived工具介绍 keepal…

Python实现霍德里克-普雷斯科特(Hodrick-Prescott,HP)过滤器模型和UC-ARIMA模型(hpfilter算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 霍德里克-普雷斯科特&#xff08;Hodrick-Prescott, HP&#xff09;过滤器模型&#xff1a; HP滤波器是…

数据结构算法第二套试卷小题

1.哈夫曼树 在哈夫曼树中&#xff0c;每个非叶子节点都有两个子节点&#xff08;因为哈夫曼树是一种二叉树&#xff09;&#xff0c;而叶子节点没有子节点。如果用二叉链表作为存储结构&#xff0c;每个节点需要包含两个指针域&#xff0c;分别指向其左孩子和右孩子。因此&…

SystemVerilog构造、包

包 包提供了一种共享不同构造的附加方式。他们的行为与VHDL包。包可以包含函数、任务、类型和枚举。的语法包是&#xff1a; package package_name; items endpackage : package_name 最终的package_name不是必需的&#xff0c;但它使代码更易于阅读。包是import命令在其他…

渗透测试——信息收集

信息收集 前言 信息收集是在做渗透时找尽可能的多的信息&#xff0c;为之后的渗透做铺垫。信息收集的方法有很多 比如&#xff0c;页面、真实的IP、域名/子域名、敏感目录/文件、端口探测、CMS指纹识别、操作系统识别 1. 页面信息收集 拿到域名后&#xff0c;从网站的url中…