【算法设计与分析】和相等的子数组

article/2024/4/13 15:03:33

       📝个人主页:五敷有你      

 🔥系列专栏:算法分析与设计

⛺️稳中求进,晒太阳

题目

给你一个下标从 0 开始的整数数组 nums ,判断是否存在 两个 长度为 2 的子数组且它们的  相等。注意,这两个子数组起始位置的下标必须 不相同 。

如果这样的子数组存在,请返回 true,否则返回 false 

子数组 是一个数组中一段连续非空的元素组成的序列

 示例

示例 1:

输入:nums = [4,2,4]
输出:true
解释:元素为 [4,2] 和 [2,4] 的子数组有相同的和 6 。

示例 2:

输入:nums = [1,2,3,4,5]
输出:false
解释:没有长度为 2 的两个子数组和相等。

示例 3:

输入:nums = [0,0,0]
输出:true
解释:子数组 [nums[0],nums[1]] 和 [nums[1],nums[2]] 的和相等,都为 0 。
注意即使子数组的元素相同,这两个子数组也视为不相同的子数组,因为它们在原数组中的起始位置不同。

思路

我们只需要对数组进行一次遍历。当我们 i 个元素时,计算 nums[i]+nums[i+1] 的值,并判断该值是否已经出现过即可。

判断的操作可以使用一个哈希表,记录已经出现过的值。

代码实现

class Solution {public boolean findSubarrays(int[] nums) {int n=nums.length;if(n<3){return false;}Set<Integer> set=new HashSet();for(int i=0;i<n-1;i++){int sum = nums[i] + nums[i + 1];if(!set.add(sum)){return true;}}return false;}
}

运行结果

时间复杂度:O(n)。

空间复杂度:O(n)。


http://www.ngui.cc/article/show-1927521.html

相关文章

在实训云平台上配置云主机

文章目录 零、学习目标一、实训云升级二、实训云登录&#xff08;一&#xff09;登录实训云&#xff08;二&#xff09;切换界面语言&#xff08;三&#xff09;规划云主机实例 三、创建网络三、创建路由器2024-2-29更新到此四、添加接口五、创建端口六、添加安全组规则七、创建…

MySQL(基础篇)——函数、约束

一.函数 1.定义 函数是指一段可以直接被另一段程序调用的程序或代码。 2.字符串函数 常见如下&#xff1a; -- 字符串拼接 SELECT CONCAT(hello,MySql) AS CONCAT -- 将字符串全部转为小写 SELECT LOWER(HEllo MYSql) AS LOWER -- 将字符串全部转为大写 SELECT UPPER(Hello…

SpringCloud搭建微服务之Consul服务注册与发现

1. Consul介绍 Consul是由HashiCorp公司使用Go语言开发的一款开源工具&#xff0c;主要用于实现分布式系统的服务发现和服务配置&#xff0c;其内置了服务注册与发现框架、分布式一致性协议实现、健康检查、Key-Value存储、多数据中心方案。Consul具有高可移植性&#xff0c;支…

c# Excel转换成DataSet

/// <summary> /// Excel转换成DataSet&#xff08;.xlsx/.xls&#xff09; /// </summary> /// <param name"filePath">Excel文件路径</param> /// <param name"strMsg"></param> …

大街款商城项目03-微服务之间调用

目录 RestTemplate OpenFeign 1.引入依赖open-feign 2.声明要调用的服务和接口 3.注入FeignClient启用 4验证 RestTemplate 在微服务架构中&#xff0c;使用RestTemplate是一种常见的方式进行服务间的HTTP通信。以下是一个简单的示例&#xff0c;演示如何使用RestTempla…

嵌入式LINUX移植、配置ssh

编译 https://quantum6.blog.csdn.net/article/details/136299665 编译时指定prefix&#xff0c;产生的文件会自带这个目录。所以直接忽略。 ./configure# 不指定编译路径&#xff0c;手动复制。 复制 编译后的整个目录打包&#xff0c;复制到开发板。写个脚本&#xff0c…

k8s学习-数据管理之nfs手动搭建

需要先准备好3台虚拟机 系统CentOS7 IP 192.168.200.128 master IP 192.168.200.129 node1 IP 192.168.200.130 node2 问题描述 在学习数据管理的时候创建完pv和pvc以后&#xff0c;创建了pod使用pvc&#xff0c;但是pod创建不成功。 查看pod描述 kubectl describe pod myp…

最新消息:英特尔宣布成立全新独立运营的FPGA公司——Altera

今天&#xff0c;英特尔宣布成立全新独立运营的FPGA公司——Altera&#xff08;2015年6月Intel以 167 亿美元的价格&#xff0c;收购FPGA厂商Altera&#xff09;。首席执行官Sandra Rivera和首席运营官Shannon Poulin分享展示其在超过550亿美元的市场中保持领先性的战略规划&am…

自然语言处理之语言模型LM的概念以及应用场景

自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是人工智能领域的一个分支&#xff0c;旨在让机器理解和生成人类语言。语言模型&#xff08;Language Model, LM&#xff09;是NLP中的一个核心组件&#xff0c;它用于评估一个句子或文本序列的概率分布&…

k8s 中 namspace deployment pod services 之间的关系

在Kubernetes&#xff08;K8s&#xff09;中&#xff0c;Namespace&#xff08;命名空间&#xff09;是一种用于将集群内部资源划分为不同逻辑组的机制。Deployment、Pod和Service是Kubernetes中常见的资源&#xff0c;它们之间的关系如下&#xff1a; Namespace&#xff08;命…