【灵神题单】分组循环

目录

  • 适用场景
  • 核心思想
  • 代码模板
    • 模板1:有进入条件模板
    • 模板2:无进入条件模板
  • 题单
    • 无进入条件
    • 有进入条件

适用场景

  • 按照题目要求,数组会被分割成若干组,且每一组的判断 / 处理逻辑是一样的。
  • 例如:选一个最长连续子数组,满足子数组元素依次是偶数,奇数,偶数,奇数,……,且元素值均不超过 threshold
  • nums=[2,1,1,4,3,4,2,8],threshold=5,数组可以分成 [2,1],1,[4,3,4],[2],[8]。其中 [⋯ ]是子数组,其余数字不满足要求。所以最长连续子数组的长度是 3。

核心思想

  • 外层循环负责遍历组之前的准备工作(记录开始位置),和遍历组之后的统计工作(更新答案最大值)。
  • 内层循环负责遍历组,找出这一组最远在哪结束
  • 注意:有的题目虽然上一组结束了,但是新的一组仍然可以从上一组的最后一个数字为开头,这时候就需要将 i = i - 1

代码模板

模板1:有进入条件模板

//数组长度
int n = nums.length;
//结果
int ans = 0;
int i = 0;while(i < n){//进入条件if(nums[i]不满足条件) {i++;continue; //不满足跳过}int start = i; //记录这一组的开始位置i++; //开始位置已经满足要求,从下一个位置开始判断while(i < n && ...)){ //循环条件i++;}//从 start 到 i-1 是满足题目要求的子数组,统计结果ans = ...;//下一组从 i 开始,无需 i += 1
}
return ans;

模板2:无进入条件模板

//数组长度
int n = nums.length;
//结果
int ans = 0;
int i = 0;while(i < n){//无进入条件,直接分组循环int start = i; //记录这一组的开始位置i++; //开始位置已经满足要求,从下一个位置开始判断while(i < n && ...)){ //循环条件i++;}//从 start 到 i-1 是满足题目要求的子数组,统计结果ans = ...;//下一组从 i 开始,无需 i += 1
}
return ans;

题单

无进入条件

  • 1446.连续字符 【直接分组统计,记录最大值】
  • 1869.哪种连续子字符串更长 【直接分组统计 + 分类讨论,返回比较结果】
  • 2110.股票平滑下跌阶段的数目 【直接分组统计,统计结果使用等差数列】
  • 1759.统计同质子字符串的数目 【直接分组统计,统计结果使用等差数列】
  • 1578.使绳子变成彩色的最短时间 【直接分组统计,条件判断统计结果】
  • 2038.如果相邻两个颜色均相同则删除当前颜色 【直接分组统计,条件判断统计结果 + 分类讨论】
  • 228.汇总区间 【直接分组统计,条件统计结果】
  • 1957.删除字符使字符串变好 【直接分组统计,条件判断统计结果】
  • 1887.使数组元素相等的减少操作次数 【直接分组统计,统计结果特殊处理】
  • 3011.判断一个数组是否可以变为有序 【直接分组统计,条件判断统计结果】
  • 2953.统计完全子字符串 【有难度】

有进入条件

  • 1578.使绳子变成彩色的最短时间 【条件进入分组统计,条件统计结果】
  • 2765.最长交替子数组 【条件进入分组统计,下一组开始位置特殊处理】
  • 2760.最长奇偶子数组 【条件进入分组统计,记录最大值】
  • 1839.所有元音按顺序排布的最长子字符串 【条件进入分组统计,条件判断记录最大值】
  • 978.最长湍流子数组 【条件进入分组统计,记录最大值】

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

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

相关文章

【golang学习之旅】延迟调用——defer

系列文章 【golang学习之旅】使用VScode安装配置Go开发环境 【golang学习之旅】报错&#xff1a;a declared but not used 【golang学习之旅】Go 的基本数据类型 【golang学习之旅】深入理解字符串string数据类型 【golang学习之旅】go mod tidy 【golang学习之旅】记录一次 p…

【阅读论文】-- IDmvis:面向1型糖尿病治疗决策支持的时序事件序列可视化

IDMVis: Temporal Event Sequence Visualization for Type 1 Diabetes Treatment Decision Support 摘要1 引言2 1 型糖尿病的背景3 相关工作3.1 时间事件序列可视化3.2 电子健康记录可视化3.3 1 型糖尿病可视化3.4 任务分析与抽象 4 数据抽象5 层次化任务抽象5.1 临床医生工作…

绘制全球各大洲典型流域的时间序列图

流量世界第一、长度第二的亚马逊流域&#xff08;Amazon&#xff09;、南美洲第四大、整条河流位于巴西的圣弗朗西斯科流域&#xff08;Sao Francisco&#xff09;、世界第四长、北美洲最长的密西西比流域&#xff08;Mississippi&#xff09;、欧洲最长的伏尔加流域&#xff0…

小程序简单版音乐播放器

小程序简单版音乐播放器 结构 先来看看页面结构 <!-- wxml --><!-- 标签页标题 --> <view class"tab"><view class"tab-item {{tab0?active:}}" bindtap"changeItem" data-item"0">音乐推荐</view><…

SAP ABAP 之容器

文章目录 前言一、案例介绍/笔者需求二、自定义容器 a.实例化对象 b.自定义容器效果演示 c.Copy Code 三、自适应容器 a.常用 必须 参数理解 b.METRIC 度量单位 c.RATIO 百分比尺寸 d.STYLE 容器…

springboot网上商城系统-计算机毕业设计源码08789

摘 要 随着互联网趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己推广出去&#xff0c;最好方式就是建立自己的互联网系统&#xff0c;并对其进行维护和管理。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;采用Java技术建设网上商城系统。 本设…

MUR6060PT-ASEMI逆变焊机MUR6060PT

编辑&#xff1a;ll MUR6060PT-ASEMI逆变焊机MUR6060PT 型号&#xff1a;MUR6060PT 品牌&#xff1a;ASEMI 封装&#xff1a;TO-247 最大平均正向电流&#xff08;IF&#xff09;&#xff1a;60A 最大循环峰值反向电压&#xff08;VRRM&#xff09;&#xff1a;600V 最大…

C++:C与C++混合编程

混合编程 为什么需要混合编程 (1)C有很多优秀成熟项目和库&#xff0c;丢了可惜&#xff0c;重写没必要&#xff0c;C程序里要调用 (2)庞大项目划分后一部分适合用C&#xff0c;一部分适合用C (3)其他情况&#xff0c;如项目组一部分人习惯用C&#xff0c;一部分习惯用C 为什么…

echarts隔行背景色

看了下使用说明&#xff0c;试了半天终于搞对了 参考文档&#xff1a;Documentation - Apache ECharts option {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [120, 200, 150, 80, 70, 110, 130],type: bar,mar…

探索PostgreSQL存储过程:效率与强大的结合体

探索PostgreSQL存储过程&#xff1a;效率与强大的结合体 引言 PostgreSQL&#xff0c;作为功能强大的开源对象关系数据库系统&#xff0c;提供了丰富的数据库编程功能。存储过程是PostgreSQL中的一项重要特性&#xff0c;它允许封装一系列SQL语句和控制流语句为一个单一的操作…

IP地址在市场数据分析中的帮助

在当今数字化时代&#xff0c;市场数据分析对于企业的成功至关重要。而在这个过程中&#xff0c;IP地址作为一个关键的数据点&#xff0c;为市场分析师提供了宝贵的洞察和指引。以下将详细探讨IP地址在市场数据分析中的具体作用。 一、用户地理定位 IP地址可以帮助分析师确定…

【实用软件】Internet Download Manager(IDM6.41)下载及安装教程

​数据表明但是能够通过搭配下载的方式来使用IDM&#xff08;比如用迅雷离线下载&#xff0c;115离线&#xff0c;百度网盘等离线下载好的资源&#xff0c;然后结合HTTP协议的特性再用IDM下载&#xff09;能够达到事半功倍的效果。有目共睹的是IDM下载HTTP链接十分快&#xff0…

华为升腾显卡选型备忘

目录 1. 开发套件 2. 加速模块 3. 加速卡 4. 训练卡 官方地址&#xff1a;https://www.hiascend.com/ 备注&#xff1a; &#xff08;1&#xff09;V后缀的都是Video视频解析卡&#xff0c;本质是推理卡&#xff1b; &#xff08;2&#xff09;I后缀的都是推理卡&#…

Vue3.0里为什么要用Proxy API替代的defineProperty API

Vue 3.0 中使用 Proxy API 替代 defineProperty API 的原因主要有以下几点&#xff1a; 性能优化&#xff1a;Proxy 可以拦截对象的任意操作&#xff0c;而 defineProperty 只能拦截属性的读取&#xff08;get&#xff09;和设置&#xff08;set&#xff09;操作。Proxy 的性能…

(python)小学出题热门词汇可视化绘制

1.代码 import pandas as pd from wordcloud import WordCloud import matplotlib.pyplot as plt from collections import Counter import jieba # 如果你处理的是中文文本&#xff0c;需要jieba分词 import re # 停用词列表&#xff0c;这里只是示例&#xff0c…

Swift 周报 第五十四期

文章目录 前言新闻和社区苹果上架 iPhone 14/Pro 官翻机&#xff1a;起售价不到 5000 元苹果 iPhone SE 4 售价曝光苹果针对欧盟 20 亿美元罚单提起上诉 双方另一场“缠斗”已跨越近八年 提案通过的提案正在审查的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编…

gbase8s的并行任务(查询、索引和监控)-1

(一) 并行查询的概述 1. 并行查询操作的概述 通过大的数据查询分成许多小的并行任务&#xff0c;每个任务由一个线索进行完成&#xff0c;每个线索运行在不同的物理CPU上&#xff0c;通过多个CPU共同完成一个任务&#xff0c;达到真正的并行gbase8s数据库的并行查询功能称为P…

SAP ABAP 之OOALV

文章目录 前言一、案例介绍/笔者需求二、SE24 查看类 a.基本属性 Properties b.接口 Interfaces c.友元 Friends d.属性 Attributes e.方法 Methods f.事件 Events g.局部类型 Types …

Vulnhub--AI: WEB: 2

渗透复现 平台框架存在目录穿越漏洞&#xff0c;利用该漏洞读取敏感信息 Ping功能点绕过&#xff0c;进行命令执行操作&#xff0c;反弹shell无果后&#xff0c;利用目录穿越漏洞遍历敏感API&#xff0c;读取到用户SSH登录凭证 SSH登录进行Linux lxd容器提权 知识扩展 目录…

企业运维六边形战士 质量稳定 效率为王

随着信息化的不断深入和扩展&#xff0c;企业IT系统的复杂性和设备多样性日益增加。为了保障业务的高可用性和连续性&#xff0c;企业需要一个全面、高效、智能的一体化运维管理平台。在用户市场的推动下&#xff0c;LinkSLA智能运维管家展现出【六边形战士】的优质属性&#x…