首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
最长无重复子数组
387条解析
开通博客写题解
LaN666
发表于 2020-11-25 21:21:16
方法一:滑动窗口法 算法思路 我们可以利用双指针模拟一个滑动窗口。初始化该窗口为(left, right]。所以left从-1开始。窗口不断往右扩大。因为我们要的是无重复子数组,因此,遇到有重复的数字,在窗口左侧进行缩小。在每次滑动时,对窗口的大小进行比较,保留最大的长度。 代码实现 impo
展开全文
牛客题解官
发表于 2022-04-22 13:05:47
题目主要信息: 题目给定一个数组,要找到其中最长的无重复的子数组的长度 子数组必须是数组中连续的一段 举一反三: 学习完本题的思路你可以解决如下题目: BM90. 最小覆盖子串 方法:滑动窗口(推荐使用) 知识点1:滑动窗口 滑动窗口是指在数组、字符串、链表等线性结构上的一段,类似一个窗口,而这
展开全文
蒙牛麦片
发表于 2021-07-22 18:19:31
NC41 最长无重复子数组 题意分析: 找出最长的子数组的长度,要求该子数组中没有重复元素。 题解一(暴力): 找出所有的没有重复元素的子数组,然后比较他们的长度。 超时。 题解二(双指针): 我们设置两个指针left和right,表示子数组的左端点和右端点,用一个set统计left-right中所
展开全文
数据结构和算法
发表于 2021-04-02 13:38:48
1,解法一 我们使用两个指针,一个i一个j,最开始的时候i和j指向第一个元素,然后i往后移,把扫描过的元素都放到map中,如果i扫描过的元素没有重复的就一直往后移,顺便记录一下最大值max,如果i扫描过的元素有重复的,就改变j的位置,我们就以pwwkew(这是之前画的图,求的是字符串,不是数字,这里
展开全文
Edwin_Xu
发表于 2020-08-25 00:09:04
public int maxLength (int[] arr) { HashMap<Integer,Integer> map = new HashMap<>(); int max = 1; for(int start = 0, end = 0; en
展开全文
poooker
发表于 2020-10-09 16:23:53
条件: 设置两个指针/索引,left = 0 right = 1; map<int,int>,记录数组元素的 值-索引: value:index 设定: left到right之间的元素为连续不重复; map中存放left到right间元素的 值-索引 对; 初始left rig
展开全文
博菲特儿~
发表于 2020-09-21 23:19:46
两种解法思路差不多: 对数组遍历, 并使用临时数组保存遍历过的元素, 如果元素出现,则比较并保存当前的最大长度,同时临时序列保留相同元素后的无重复序列继续遍历 使用双指针,如果新的元素 与起止指针范围内的元素重复,就暂存当前的无重复序列长度, 并将起始指针移动到重复元素后 class Solu
展开全文
超级码力233
发表于 2020-11-26 18:57:58
找到字符串的最长无重复字符子串 题目链接 Solution 寻找最长的无重复子串。考虑以一个位置结尾的可以往前延伸到的位置,根据此位置求出无重复子串的长度。具体操作可以记录一个指针,这个指针记录到当前位置时,可以往前延伸的最前的位置。考虑如何更新指针,从一个位置到下一个位置时,加入了一个数a: 如
展开全文
THE_LIN
发表于 2020-09-17 11:35:21
#include<unordered_map> class Solution { public: int maxLength(vector<int>& arr) { &n
展开全文
小洋芋热爱NLP
发表于 2021-01-26 00:25:23
- 1、题目描述: - 2、题目链接:https://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4?tpId=117&rp=1&ru=%2Factivity%2Foj&qru=%2Fta%2Fjob-c
展开全文
牛客634585094号
发表于 2021-09-20 16:27:08
# 假设数据[1,2,3,4,2,3] 读到[1,2,3,4],此时新的数据应该为[3,4,2]--- # @return int整型 # class Solution: def maxLength(self , arr ): tmp,l=[],0 for i
展开全文
1807310129-邓俊华
发表于 2021-09-18 00:34:27
# # # @param arr int整型一维数组 the array # @return int整型 # 对于这一道题最先想到的方法就是枚举,我们可以尝试把数组中每一个元素都当作开头,一个一个去试 # 假设有数组[1, 2, 5, 2 ,3] # 思路:那么它的最长无重复子数组要么就是以1
展开全文
1号牛客
发表于 2020-09-17 10:32:48
笨鸟先飞1、固定一个元素向后看,遇到重复的终止2、max记录最大值,Set用来判重3、leftIndex 用来记录左边的界限 import java.util.*; public class Solution { /** * * @param arr int整型一维
展开全文
查看本题
查看本题讨论
等你来战
查看全部
2026年广东工业大学揭阳校区程序设计竞赛 同步赛
报名截止时间:2026-03-28 18:00
广州大学第二十届ACM大学生程序设计竞赛(同步赛)
报名截止时间:2026-03-28 18:00
“⌬杯”蓝桥杯大赛省赛模拟赛
报名截止时间:2026-03-29 17:00
牛客周赛 Round 137
报名截止时间:2026-03-29 21:00
牛客2026年愚人节比赛
报名截止时间:2026-04-01 21:00
牛客挑战赛87
报名截止时间:2026-04-03 22:00
华中农业大学第十五届程序设计竞赛(同步赛)
报名截止时间:2026-04-04 15:30
牛客周赛 Round 138
报名截止时间:2026-04-05 21:00
牛客小白月赛131
报名截止时间:2026-04-10 21:00
北华大学第十三届大学生程序设计竞赛(同步赛)
报名截止时间:2026-04-12 18:00
牛客周赛 Round 139
报名截止时间:2026-04-12 21:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题