分享用is_sorted()解决单调数列问题


题目名称 896. 单调数列

目录

题目名称 896. 单调数列

1.题目

2.题目分析

3.题目知识

3.1 is_sorted()

3.2.迭代器与反向迭代器

3.2.1理解迭代器

3.2.2正向迭代器

3.2.3反向迭代器

 最后🍨


推荐阅读顺序:

1.题目->2.题目分析->3.题目知识点


1.题目

如果数组是单调递增或单调递减的,那么它是 单调 的。

如果对于所有 i <= jnums[i] <= nums[j],那么数组 nums 是单调递增的。 如果对于所有 i <= jnums[i]> = nums[j],那么数组 nums 是单调递减的。

当给定的数组 nums 是单调数组时返回 true,否则返回 false


2.题目分析

这个解法不难,重点是相关函数的使用。


3.题目知识

3.1 is_sorted()

  is_sorted() 是算法库<algorithm.h>里面的函数,参数是两个迭代器。判断是否为升序排序,如果是升序排序,就返回true.

  如果用来排是不是降序排序可以用反向迭代器,是降序排序,就返回true.


3.2.迭代器与反向迭代器

3.2.1理解迭代器

迭代器 iterators ,迭代器是一个行为上像指针一样的东西,不同的容器它的底层实现是不一样的

string s1("hello world");//以string中的迭代器为例

s1就是一个对象,这个对象有一个指针,它指向一片空间,就像顺序表一样,这片空间存储的是字符
s1.begin()返回的是第一个有效字符的位置
s1.end()返回的是最后一个有效数据的下一个位置
it1=s1.begin();
*it1;//*it1就是这里第一个有效位置的数据
迭代器不一定是指针

迭代器的最大意义是 它是通用的访问形式

3.2.2正向迭代器

void test()
{
	//遍历string
	//迭代器,iterator像是在string类里面定义的一个类型,它是一个类型属于string这个类域
	string::iterator it1 = s1.begin();//begin返回他第一个位置的迭代器
	while (it1 != s1.end())//end返回的是最后一个数据的下一个位置的迭代器
	{
		*it1+=1;//对这个数据加一
		cout << *it1 << " ";//对这里的数据输出
		++it1;//迭代器前往下一个位置
	}

	//迭代器的通用性
	vector<int> v;//vector是一个通用的类模板
	vector<int>::iterator vit = v.begin();
	while (vit != v.end())
	{
		cout << *vit << " ";
		vit++;
	}
	cout << endl;
}

3.2.3反向迭代器

void test1()
{
	//反向迭代器 reverse_iterator
	//迭代器除了有正向迭代器还有反向迭代器
	//反向迭代器对应rbegin rend,类似一个反向的指针,必须对应使用
	//rbegin() rend()返回的就是反向迭代器

	string s1("1234");

	string::reverse_iterator rit = s1.rbegin();
	auto rit1 = s1.rbegin();//auto为了防止类型过长,可以自动识别
	
	while (rit != s1.rend())
	{
		cout << *rit << " ";
		++rit;//注意这里是++,反向迭代
	}


	//const迭代器
	print(s);
}

 最后🍨

  加油!!!

c0bc156d7a414da0bf696f85f691de59.jpeg

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI新工具(20240118):AlphaGeometry解答国际数学奥林匹克竞赛中的几何问题

AlphaGeometry AlphaGeometry是由谷歌旗下的DeepMind团队开发的一款人工智能系统&#xff0c;它能够解决国际数学奥林匹克竞赛&#xff08;IMO&#xff09;的几何题。AlphaGeometry模型通过神经语言模型和符号推理引擎相结合的方式&#xff0c;实现了复杂的几何定理证明。该模…

My CUDA Note

1. CUDA中的grid和block基本的理解 Kernel: Kernel不是CPU&#xff0c;而是在GPU上运行的特殊函数。你可以把Kernel想象成GPU上并行执行的任务。当你从主机&#xff08;CPU&#xff09;调用Kernel时&#xff0c;它在GPU上启动&#xff0c;并在许多线程上并行运行。 Grid: 当你…

Chondrex:Glycosaminoglycans Assay Kit(糖胺聚糖检测试剂盒)

糖胺聚糖&#xff08;glycosaminoglycans&#xff0c;GAGs&#xff09;是一种携带负电荷的多糖链&#xff0c;位于大多数结缔组织和许多不同类型细胞的细胞外基质&#xff08;extracellular matrices, ECM&#xff09;中以及细胞表面上。由重复双糖单位复合构成的糖胺聚糖可分为…

动态住宅代理IP是什么?如何配置使用?

动态住宅代理IP&#xff0c;作为一种高效的网络工具&#xff0c;不仅能够为您的在线活动提供额外的保护层&#xff0c;还能增强匿名性和数据安全。接下来将深入探讨动态住宅代理IP的定义、设置步骤、以及它如何有效保护您的网络隐私和安全。 一、动态住宅代理是什么&#xff1f…

尚硅谷Nginx高级配置笔记

写在前面&#xff1a;本笔记是学习尚硅谷nginx可成的时候的笔记&#xff0c;不是原创&#xff0c;如有需要&#xff0c;可以去官网看视频&#xff0c;以下是pdf文件 Nginx高级 第一部分&#xff1a;扩容 通过扩容提升整体吞吐量 1.单机垂直扩容&#xff1a;硬件资源增加 云…

前端react入门day04-useEffect与Hook函数

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 useEffect 的使用 useEffect 的概念理解 useEffect 依赖项参数说明 useEffect — 清除副作用 自定义Ho…

小程序中使用上传图片,显示、删除、预览

一、功能介绍 需要哦用户点击加号上传图片&#xff0c;并展示所上传图片和能够删除和预览 二、功能实现 采用的uniapp&#xff0c;创建了一个view容器包裹加号图标和展示的图片。 内部展示图片超过9张时候&#xff0c;加号图片隐藏 <view class"img-list">/…

【Vue】Vue 路由的配置及使用

目录捏 前言一、路由是什么&#xff1f;1.前端路由2.后端路由 二、路由配置1.安装路由2.配置路由 三、路由使用1.route 与 router2. 声明式导航3. 指定组件的呈现位置 四、嵌套路由&#xff08;多级路由&#xff09;五、路由重定向1.什么是路由重定向&#xff1f;2.设置 redire…

asp.net mvc framework 4.8 升级到 net 8.0

首先仔细阅读官方给出的升级文档这是地址 简介 - Training | Microsoft Learn 跟据文档中的操作升级 升级之后可能会有大量报错&#xff0c;将报错都改好&#xff0c;运行 如果能正常运行起来那么恭喜你&#xff0c;一般是会有问题 我遇到的问题是项目启动不了&#xff0c…

recyclerview滚动辅助器,每次横向滚动展示完整的item

简洁&#xff1a; RecyclerView在24.2.0版本中新增了SnapHelper这个辅助类&#xff0c;用于辅助RecyclerView在滚动结束时将Item对齐到某个位置。特别是列表横向滑动时&#xff0c;很多时候不会让列表滑到任意位置&#xff0c;而是会有一定的规则限制&#xff0c;这时候就可以…

运维平台介绍:视频智能运维平台的视频质量诊断分析和监控中心

目 录 一、概述 二、框架图 1、图像过亮检测&#xff1a; 2、图像模糊检测&#xff1a; 3、画面冻结检测&#xff1a; 4、信号缺失检测&#xff1a; 5、图像偏色检测&#xff1a; 6、噪声干扰检测&#xff1a; 7、条纹干扰检测&#xff1a; 三、监控中心模…

微服务入门 | 项目分割 | 远程调度Feign | 用户中心erueka 和 nacos

认识微服务 微服务架构演变&#xff1a; 单体架构&#xff1a;所有功能集中在一个项目中开发&#xff0c;打成一个包部署 分布式架构&#xff1a;就是各功能模块的代码不在同一个项目中写了&#xff0c;到时候修改其中一个过能的代码&#xff0c;对另一个功能完全没有任何影响…

dp专题13 零钱兑换II

本题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 思路&#xff1a; 根据题意&#xff0c;这是一道很裸的背包问题&#xff0c;其中这里是返回 背包方案数 的。 我们可以直接推出公式 &#xff1a; dp [ j ] dp[ j - coins[ i ] ] 在我之前…

【Windows取证篇】Window日志分析基础知识(一)

【Windows取证篇】Window日志分析基础知识&#xff08;一&#xff09; Windows系统审计是对系统中有关安全的活动进行记录、检查以及审核&#xff0c;一般是一个独立的过程。Window自带的事件查看器并没有提供删除特定日志的功能&#xff0c;我们在系统审计取证分析时&#xf…

MySQL中根据出生日期计算年龄

创建student表 mysql> create table student( -> sid int primary key comment 学生号, -> sname varchar(20) comm…

JAVAEE初阶 文件IO练习题

文件IO练习题 一.二.三. 一. 给定一个要找寻的文件,再给定一个目录,查找是否存在这个文件,如果存在,返回它的绝对路径. 二. 实现文件的复制 将一个文件的内容复制到另一个文件中 思路: 先读文件中的内容,读完之后,以写的方式到另一个文件中 三. 进行目录的搜索,用户输入一个目录…

【网络技术】【traceroute】【Linux虚拟机(Ubuntu)】无法traceroute至谷歌【及解决方法】

一、问题描述 问题描述如下&#xff1a; Ubuntu虚拟机可以ping通谷歌&#xff08;www.google.com&#xff09;&#xff0c;但是却无法通过traceroute命令找到路由路线&#xff0c;如下图所示&#xff1a; 二、解决方法 从traceroute命令的返回内容可以看出&#xff0c;路由寻…

easy Exsel导出

目录 一、首先引入依赖 二、然后封装一个VO 三、Controller层 四、Service实现类 引用样式 自适应列宽 自适应行高 五、测试 postman ​编辑 浏览器 异常 分配到这个任务了&#xff0c;写个小demo记录下&#xff0c;具体可参考EasyExcel官方文档 我用的是web上传…

Spring5深入浅出篇:Spring与工厂设计模式简介

Spring5深入浅出篇:Spring与工厂设计模式简介 什么是Spring Spring是⼀个轻量级的JavaEE解决⽅案&#xff0c;整合众多优秀的设计模式轻量级 1. 对于运⾏环境是没有额外要求的开源 tomcat resion jetty收费 weblogic websphere 2. 代码移植性⾼不需要实现额外接⼝JavaEE的解…

常见框架漏洞

1.什么是框架 Web框架(Web framework)或者叫做Web应用框架(Web application framework)&#xff0c;是用于进行Web开发的一套软件架构。大多数的Web框架提供了一套开发和部署网站的方式。为Web的行为提供了一套支持的方法。使用Web框架&#xff0c;很多的业务逻辑外的功能不需…