day37打卡

day37打卡

738. 单调递增的数字

解法,贪心:

从后向前遍历,找出并记录最终递减的位置,把当前减1,再把后面的全置为9即可。

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

class Solution {
public:int monotoneIncreasingDigits(int n) {// n是个位数就直接返回if(n < 10) return n;//变成字符串好操作string nStr = to_string(n);//记录从哪开始进行的赋值9int flag = nStr.size();//从后向前遍历,找出了递减的位置for(int i = nStr.size()-1; i > 0; i--){if(nStr[i-1] > nStr[i]){flag = i;nStr[i-1]--;}}//开始赋值‘9’for(int i = flag; i < nStr.size(); i++){nStr[i] = '9';}return stoi(nStr);}
};

968. 监控二叉树

解法,贪心:局部最优:让叶子节点的父节点安摄像头,所用摄像头最少 -》整体最优:全部摄像头数量所用最少!

先给叶子节点父节点放个摄像头,然后隔两个节点放一个摄像头,直至到二叉树头结点。

这个思路就是我们的后序遍历二叉树。

class Solution {// 定义三种状态:// 0 未覆盖// 1 已覆盖// 2 已安装
public:int ret = 0;int minCameraCover(TreeNode* root) {if(dfs(root) == 0) ret++;return ret;}int dfs(TreeNode* root){//如果为空,为了正确返回ret,设置为已覆盖if(root == nullptr) return 1;int left = dfs(root->left);int right = dfs(root->right);//如果两个节点都没有被覆盖,只能安装摄像头了if(left == 0 || right == 0){ret++;return 2;//安装摄像头}//left和right都已经被覆盖了,但是没有安装相机,所以r是待覆盖的else if(left == 1 && right == 1){return 0;//root未覆盖}//left或者right已经装了一个摄像头,所以root是已覆盖的else if(left + right >= 3){return 1;//已覆盖}return -1;//无意义,}   
};

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

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

相关文章

【触想智能】国产工控机五大分类你知道吗?

工控机是专门为工业控制设计&#xff0c;用于对生产过程中使用的机器设备、生产流程、数据参数等进行监测与控制的计算机。由于工控机经常会在恶劣的环境下运行&#xff0c;对数据的安全性要求也比较高&#xff0c;因此需要单独定制才能满足需求。 在现代化工业生产过程中&…

时间获取和文件属性和权限获取实现 ‘ls -l’ 功能

一&#xff0c;时间获取: 1.time time_t time(time_t *tloc); 功能: 返回1970-1-1到现在的秒数&#xff08;格林威治时间&#xff09; 参数: tloc:存放秒数空间首地址 返回值: 成功返回秒数&#xff08;用 time_t 类型的变量接&…

不确定性问题的论文笔记

Statistics starting from 01/2024, 仅列出了优秀工作中的一部分 每一年的排列顺序: CVPR, ICLR, ECCV, ICCV, ICML, AAAI, TPAMI&#xff0c;TIP&#xff0c;Arxiv 等 每周更新 2024 论文信息速览笔记是 否 已精读精读笔记Shao W, Xu Y, Peng L, et al. Failure Detection fo…

打开一个网站所经历的过程

浏览器查找网址&#xff08;URL&#xff09;对应的服务器的IP地址&#xff1a; 当你在浏览器输入一个网址&#xff0c;计算机需要知道这个网址对应哪台服务器&#xff0c;所以要先查找这个网址对应的 IP 地址。这一步是通过 DNS&#xff08;域名系统&#xff09;完成的&#xf…

从零学算法240

240.编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,…

代码随想录 Leetcode45. 跳跃游戏 II

题目&#xff1a; 代码(首刷看解析 2024年2月15日&#xff09;&#xff1a; class Solution { public:int jump(vector<int>& nums) {if (nums.size() 1) return 0;int res 0;int curDistance 0;int nextDistance 0;for (int i 0; i < nums.size(); i) {nex…

网页布局之浮动

一&#xff0c;传统网页布局的三种方式 普通流&#xff08;标准流&#xff09;、浮动、定位。 二&#xff0c;标准流&#xff08;普通流/文档流&#xff09; 即为标签按照规定好的默认方式排列。 1.块级元素会独占一行&#xff0c;从上向下顺序排列。 常用元素&#xff1a;…

Mybatis | 初识Mybatis

初识Mybatis 目录: 初识Mybatis什么是Mybatis&#xff1f;Hibernate 和 MyBatis的区别&#xff1f;Mybatis的下载和使用Mybatis的工作原理 作者简介 &#xff1a;一只大皮卡丘&#xff0c;计算机专业学生&#xff0c;正在努力学习、努力敲代码中! 让我们一起继续努力学习&#…

【动态规划专栏】专题二:路径问题--------3.礼物的最大价值

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

算法模板 6.并查集

并查集 用于解决连通块问题。 判断集合个数也就是判断p[x] x 的个数 836. 合并集合 - AcWing题库 #include <bits/stdc.h> using namespace std; const int N 1e5 10; int p[N]; // 记录每个元素的father int n, m;int find(int x){ // 查询元素x的fatherif(p[x] …

[05] computed计算属性

computed计算属性 语法&#xff1a; 声明在 computed 配置项中&#xff0c;一个计算属性对应一个函数使用起来和普通属性一样使用 {{计算属性名}} 注意 computed配置项和data配置项是同级的computed中的计算属性虽然是函数的写法&#xff0c;但它依然是属性computed中的计算…

linux 修改开发板网卡eth0的ip地址

win10如何新增电脑ip地址&#xff1a; https://blog.csdn.net/linxinfa/article/details/105817473 ifconfig # 可设置网络设备的状态&#xff0c;或是显示目前的设置。 命令详解&#xff1a;https://www.runoob.com/linux/linux-comm-ifconfig.html 一、临时修改 ifconfig e…

MySQL篇之事务

一、事务 1.事务的定义 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 2.事务的特性 ACID的解释如下&#xff1a; 1. …

webpack实际实践优化项目

参考&#xff1a; 如何通过性能优化&#xff0c;将包的体积压缩了62.7% 雅虎35条 20210526-webpack深入学习&#xff0c;搭建和优化react项目 本文只专注于性能优化的这个部分。 总体来说分为两个方面&#xff1a;第一是开发环境中主要优化打包速度&#xff0c;第二是线上环境…

什么是特征值和特征向量?(done)

什么是齐次方程&#xff1f; https://blog.csdn.net/shimly123456/article/details/136198159 行列式和是否有解的关系&#xff1f; https://blog.csdn.net/shimly123456/article/details/136198215 特征值和特征向量 参考视频&#xff1a;https://www.bilibili.com/video/BV1…

怎么把Maven依赖的包都提取到文件夹

由于我用Maven只想借助他下载jar包和依赖&#xff0c;不想自己的程序编译还得依赖Maven&#xff0c;所以试验时候用Maven引用依赖&#xff0c;试验成功再拷贝jar包来本地引用&#xff0c;有时候依赖多&#xff0c;一个个拷贝就太慢了。所以要能批量把所有依赖jar提取出来。 加…

【删除数组用delete和Vue.delete有什么区别】

删除数组用delete和Vue.delete有什么区别&#xff1f; 在 JavaScript 中&#xff0c;delete 和 Vue.js 中的 Vue.delete 是两个完全不同的概念&#xff0c;它们在删除数组元素时的作用和效果也有所不同。 JavaScript 中的 delete 关键字&#xff1a; 在原生 JavaScript 中&a…

【C语言】长篇详解,字符系列篇2-----strcat,strcmp,strncpy,strncat,strncmp函数的使用和模拟实现【图文详解】

欢迎来CILMY23的博客喔&#xff0c;本期系列为【C语言】长篇详解&#xff0c;字符系列篇2-----“混杂”的字符串函数&#xff0c;字符串函数的使用和模拟实现【图文详解】&#xff0c;图文讲解各种字符串函数&#xff0c;带大家更深刻理解C语言中各种字符串函数的应用&#xff…

LeetCode.589. N 叉树的前序遍历

题目 589. N 叉树的前序遍历 分析 我们之前有做过LeetCode的 144. 二叉树的前序遍历&#xff0c;其实对于 N 插树来说和二叉树的思路是一模一样的。 二叉树的前序遍历是【根 左 右】 N叉树的前序遍历顺序是【根 孩子】&#xff0c;你可以把二叉树的【根 左 右】想象成【根 孩…

【python】网络爬虫与信息提取--scrapy爬虫框架介绍

一、scrapy爬虫框架介绍 scrapy是一个功能强大的网络爬虫框架&#xff0c;是python非常优秀的第三方库&#xff0c;也是基于python实现网络爬虫的重要技术路线。scrapy不是哟个函数功能库&#xff0c;而是一个爬虫框架。 爬虫框架&#xff1a;是实现爬虫功能的一个软件结构和功…