c++刷题------ 最长无重复子数组

原题链接

最长无重复子数组_牛客题霸_牛客网 (nowcoder.com)

知识点

哈希,双指针,数组

题解

class Solution {
public:
	int maxLength(vector<int>& arr) {
		if (arr.size() <= 1) {  //如果长度是0的话返回0,长度是1的话返回1,特殊情况处理完毕
			return arr.size();
		}
		vector<int>tmp(100000, -1);	//取值范围是100000,初始化为-1
		int left = 0, ret = 0;
		for (int right = 0; right < arr.size(); right++) {	//
			if (tmp[arr[right]] != -1) {
				left = max(tmp[arr[right]] + 1, left);		//当遍历到第right个时前面有一个该值,left就应该是max(tmp[arr[right]] + 1, left),+1是为了让left指向重复的元素的后面
			}
			tmp[arr[right]] = right;
			ret = max(1 + right - left, ret);		//取最大值的区间
		}
		return ret;
	}
};

时间复杂度o(n)空间复杂度o(1)


感谢观看!!!!!

最近更新

  1. TCP协议是安全的吗?

    2024-04-29 01:38:01       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-29 01:38:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-29 01:38:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-29 01:38:01       18 阅读

热门阅读

  1. Windows电脑的显存容量查看

    2024-04-29 01:38:01       10 阅读
  2. 设计模式:迪米特法则(Law of Demeter,LoD)介绍

    2024-04-29 01:38:01       10 阅读
  3. Python zerorpc如何使用

    2024-04-29 01:38:01       10 阅读
  4. Linux详解:进程终止、错误码

    2024-04-29 01:38:01       9 阅读
  5. 手写一个民用Tomcat (08)

    2024-04-29 01:38:01       10 阅读
  6. 英语四级之成语

    2024-04-29 01:38:01       11 阅读
  7. 什么是 DNS?DNS设定时常见的问题都有哪些?

    2024-04-29 01:38:01       9 阅读
  8. macos如何安装Tesseract软件

    2024-04-29 01:38:01       10 阅读
  9. MATLAB初学者入门(6)—— 多目标优化

    2024-04-29 01:38:01       11 阅读
  10. 申请JoySSL证书

    2024-04-29 01:38:01       10 阅读