当前位置: 首页 > news >正文

牛客:最长无重复子数组

牛客:最长无重复子数组

  • 题目
  • 思路
  • 代码

题目

给定一个长度为n的数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同。
子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组

思路

这道题的思路其实是很简单的我们只需要解决一个问题就可以了也就是如何判断是否有元素重复。虽然是问题但是也很好解决使用哈希表即可。所以整体的思路就是我们使用一个循环确定第一个数然后在里面嵌套一个循环来插入不重复的元素到数组中。在遇到重复的元素或者没有元素的时候退出即可然后判断数组的大小是否大于length(length是我们定义的一个整数来存储最长的数组大小)。之后再将哈希表和数组清空继续第一层循环即可。

代码

class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param arr int整型vector the array* @return int整型*/int maxLength(vector<int>& arr) {// write code herevector<int> res;int length = 0;unordered_set<int> us;//第一层循环//确定第一个数for(int i = 0 ;i < arr.size();i++){res.push_back(arr[i]);us.insert(arr[i]);int j = i+1;//直到遇到重复的元素或者没有元素while(!us.count(arr[j]) && j < arr.size()){res.push_back(arr[j]);us.insert(arr[j]);j++;}if(res.size() > length){length = res.size();}us.clear();res.clear();}return length;}
};
http://www.dtcms.com/a/292061.html

相关文章:

  • 嵌入式开发学习———Linux环境下数据结构学习(一)
  • Web3面试题
  • [特殊字符] 字节内部流出版!19道前端核心面试题解析——速存
  • 网络基础16--VRRP技术
  • ospf技术
  • 中国在远程医疗智能化方面有哪些特色发展模式?
  • js 数字逢三切断、整数最大9位、小数最大2位
  • LeetCode 热题100:42.接雨水
  • 数据交换---JSON格式
  • uniapp在app中关于解决输入框键盘弹出后遮住输入框问题
  • haproxy七层均衡
  • ucharts 搭配uniapp 自定义x轴文字 实现截取显示
  • 基于SpringBoot+Uniapp的非遗文化宣传小程序(AI问答、协同过滤算法、Echarts图形化分析)
  • 代码随想录算法训练营Day35|动态规划Part03|01背包问题 二维、01背包问题 一维、416. 分割等和子集
  • (12)机器学习小白入门YOLOv:YOLOv8-cls 模型微调实操
  • YOLO-实例分割头
  • 解决http下浏览器无法开启麦克风问题
  • 【论文阅读 | TIV 2024 | CDC-YOLOFusion:利用跨尺度动态卷积融合实现可见光-红外目标检测】
  • Python实例之画小猪佩奇
  • 知识库搭建之Meilisearch‘s 搜索引擎 测评-东方仙盟测评师
  • Agent架构与工作原理:理解智能体的核心机制
  • Apache Ignite 中 WHERE 子句中的子查询(Subqueries in WHERE Clause)的执行方式
  • 社交电商推客系统全栈开发指南:SpringCloud+分润算法+Flutter跨端
  • 深入浅出控制反转与依赖注入:从理论到实践
  • 深度学习的一些疑点整理
  • J2EE模式---拦截过滤器模式
  • 操作系统 —— A / 概述
  • 工业通信网关详解:2025年技术选型与物联网方案设计指南
  • 激活函数Focal Loss 详解​
  • Jenkins流水线中的核心概念