【leetcode详解】特殊数组II : 一题代表了一类问题(前缀和思想)

news2024/11/17 3:49:06

前缀和的优势

        给定一个数组,前缀和的特点在于,任意给出一对始末位置,能够用O(1)的时间复杂度得到始末位置之间所有元素的某种关系。

题型分析

        这道题目正是“给出始末位置,检测其中元素特点”那一类,那我们就想,如果能够将这种 “元素关系” 与 “奇偶性交替的检验” 挂钩,便可大大提高检测效率。

可以说,本解法可推广解决几乎所有 判断给定区间元素是否恒满足某种关系 那一类需求。

核心部分解释:关于预处理

关于判断语句 (nums[i]%2 != nums[i-1]%2) 为什么可以用 int 型接收

由此就不难理解后面的判断:

  • prefix[ A ] = prefix[ B ]
  • 则说明位置A, B间所有元素使 (nums[i]%2 == nums[i-1]%2) = 0
  • 也就是均满足  (nums[i]%2 != nums[i-1]%2) = true
class Solution {
public:
    vector<bool> isArraySpecial(vector<int>& nums, vector<vector<int>>& queries) {
        vector<int>prefix(nums.size());//辅助数组,记录前缀和
        for(int i=1; i<nums.size(); i++)
        {
			prefix[i] = prefix[i-1] + (nums[i]%2 == nums[i-1]%2);
		}
		vector<bool>ret;
		for(auto p: queries)
		{
			ret.push_back(prefix[p[0]] == prefix[p[1]]); 
		}
		return ret;
    }
};

思路来源

本解法借鉴解题达人 @灵茶山艾府,膜拜大佬!

~希望对你有启发!~ 

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

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

相关文章

【机器学习西瓜书学习笔记——概率图模型】

机器学习西瓜书学习笔记【第十四章】 第十四章 概率图模型概率图模型分类14.1 隐马尔可夫模型贝叶斯网络马尔科夫链隐马尔科夫模型 14.2 马尔可夫随机场( M R F MRF MRF)马尔可夫场定理算法原理概率推理参数学习算法对比 14.3 条件随机场( C R F CRF CRF)优缺点优点缺点 链式条…

Redis -LFU(Least Frequently Used,最少使用频率)缓存淘汰算法

在 Redis 的 LFU&#xff08;Least Frequently Used&#xff0c;最少使用频率&#xff09;缓存淘汰算法中&#xff0c;lru 字段被拆分成两部分&#xff1a;高 16 位存储 ldt&#xff08;Last Decrement Time&#xff09;&#xff0c;低 8 位存储 logc&#xff08;Logistic Coun…

【图像特效系列】卡通特效的实践 | 包含代码和效果图

目录 一 卡通特效 代码 效果图 图像特效系列主要是对输入的图像进行处理,生成指定特效效果的图片。图像素描特效会将图像的边界都凸显出来;图像怀旧特效是指图像经历岁月的昏暗效果;图像光照特效是指图像存在一个类似于灯光的光晕特效,图像像素值围绕光照中心点呈圆形范…

【就业】中国铁路人才招聘

中国国家铁路集团有限公司&#xff0c;是中国财政部直接出资的大型国有企业&#xff0c;与国资委直接管理的央企不同&#xff0c;它是由财政部代表国务院履行出资人职责 &#xff0c;由中央管理的国有独资公司。其前身是由国家铁道部政企分离后剥离出来的全民所有制企业&#x…

Docker 基础—— 数据卷

1.数据卷 容器是隔离环境&#xff0c;容器内程序的文件、配置、运行时产生的容器都在容器内部&#xff0c;我们要读写容器内的文件非常不方便&#xff0c;例如&#xff1a; 如果要升级MySQL版本&#xff0c;需要销毁旧容器&#xff0c;那么数据岂不是跟着被销毁了&#xff1f; …

idea安装二进制文本阅读插件

引言 在软件开发过程中&#xff0c;有时需要查看二进制文件的内容以调试或分析问题。虽然有许多专用工具可以处理这类任务&#xff0c;但直接在 IDE 内集成这些功能无疑更加方便高效。本文将介绍如何在 IntelliJ IDEA 2023中安装和配置一个名为 BinEd的插件&#xff0c;以及如…

Python实验-选择结构

实验目的 &#xff08;1&#xff09;掌握条件语句中逻辑表达式的正确书写规则 &#xff08;2&#xff09;掌握单分支、双分支和多分之条件语句的使用方法 实验内容 1.某校三好学生的评定标准为&#xff1a;语文和数学两科的平均成绩大于90&#xff0c;且每科成绩不低于85分&…

人工智能系统测试生命周期详解之测试分析

前面的文章里我们已经整体介绍过了人工智能测试的生命周期&#xff0c;它需要经历测试需求的分析、测试环境的准备、数据的准备与验证、测试的执行预分析以及上线后的监控这样一个过程。前面的文章已经为大家介绍了人工智能系统测试生命周期的“需求分析”环节、“测试环境准备…

【TCP协议】

一、TCP分层 TCP/IP协议是Internet互联网中最基本的协议&#xff0c;其在一定程度上参考了OSI七层模型&#xff0c;但在TCP/IP协议中&#xff0c;七层被简化成了四层&#xff0c;如下&#xff1a; OSI模型TCP/IP协议第七层应用层 应用层 HTTP/FTP/SMTP/Telnet 第六层显示层第…

UI设计:具备什么特征,就可以被认定为时尚风格

一、时尚风格的特征 时尚风格的UI设计通常具备以下一些特征&#xff1a; 扁平化设计&#xff1a;时尚风格的UI设计通常采用扁平化的设计风格&#xff0c;包括简洁的图标、清晰的排版和简约的色彩搭配。极简主义&#xff1a;时尚风格的UI设计追求极简主义&#xff0c;注重简洁、…

CAN总线-----帧格式

目录 前言 一、CAN总线帧格式分类 1.数据帧&#xff08;重点&#xff09; 2.遥控帧 3.错误帧 4.过载帧 5.间隔帧 二、位填充 三、波形实例 前言 本期我们就开始学习CAN总线的帧格式&#xff0c;对应帧格式的话&#xff0c;在前面我们学习I2C协议和SPI协议等协议的时候…

gitlab修改默认访问端口

GitLab 自带了一个 Nginx 服务器实例&#xff0c;用于处理 HTTP 和 HTTPS 请求。这个内置的 Nginx 服务器被配置为与 GitLab 应用程序实例一起工作&#xff0c;并且它负责处理所有前端的网络通信。 通过yum或者apt安装Gitlab时&#xff0c;nginx通常是被自带安装并配置好的。 …

基于C# winform部署图像动漫化AnimeGANv2部署onnx模型

【界面截图】 【效果演示】 【部分实现代码】 using System; using System.Diagnostics; using System.Windows.Forms; using OpenCvSharp;namespace FIRC {public partial class Form1 : Form{Mat src null;public Form1(){InitializeComponent();}private void button1_Cli…

10 Checkbutton 组件

10 Checkbutton 组件 Tkinter 是 Python 的标准 GUI 库&#xff0c;它提供了一系列的控件来创建图形用户界面。Checkbutton 是其中的一个组件&#xff0c;用于创建可以被选中或取消选中的按钮&#xff0c;通常用于实现布尔值的开关功能。 创建 Checkbutton 创建一个基本的 C…

Linux运维篇-误删/bin,/sbin目录怎么修复系统

这里写自定义目录标题 前言实例挂载镜像&#xff0c;重启系统进入救援模式拷贝镜像系统中的/bin和/sbin目录到原系统重启系统 总结 前言 当你看到这篇文章的时候&#xff0c;你的系统可能已经无法登录&#xff0c;或者正在处于登录状态但是不能执行任何常规的命令&#xff0c;…

学习vue 九 nextTick 函数式编程 编译宏 环境变量

nextTick js事件循环机制 所有的同步任务都是在主进程执行的形成一个执行栈&#xff0c;主线程之外&#xff0c;还存在一个"任务队列"&#xff0c;异步任务执行队列中先执行宏任务&#xff0c;然后清空当次宏任务中的所有微任务&#xff0c;然后进行下一个tick如此…

android13禁用打开wifi ap 热点

总纲 android13 rom 开发总纲说明 目录 1.前言 2.情况分析 3.代码分析 4.代码修改 5.彩蛋 1.前言 这个文章介绍的是如何禁止用户打开wifi热点,禁止用户安装app后,打开wifi热点。 2.情况分析 android13 应用层打开wifi AP public void setWifiApEnabled(boolean isEn…

XSS小游戏(题目+解析)

xss题目练习地址&#xff1a; xss小游戏 游戏界面 一、Ma Spaghet! 我将题目要求进行翻译: 题目的主要要求就是&#xff1a;弹出一个&#xff08;1337&#xff09;的弹窗 开始解题&#xff1a; Let’s Go! 首先&#xff0c;传个参数看看 发现参数直接显示在了 < h2 >…

.bat文件快速运行vue项目

如何使用bat文件快速运行vue项目&#xff1f; 新建个文件&#xff0c;改名为serve.bat。 在文件中写入以下内容&#xff1a; # cd 项目路径 cd D:\projects\xxx npm run serve pausecd 项目所在的路径 npm run dev/serve &#xff0c;取决于项目的启动方法&#xff0c;打…

三维重建理论

应用领域&#xff1a; 三维重建基础&#xff1a; 相机成像 三维重建算法&#xff1a;