字符串中最长无重复子串(O(n))
2019独角兽企业重金招聘Python工程师标准>>>
#include <iostream>
#include <string>using namespace std;
int main()
{string str;cin >> str;const char* p = str.c_str(); //将字符串转换为const char*,以便使用strlen获取字符串的长度int length = strlen(p);cout << length << endl;int hash[256];memset(hash,-1,sizeof(hash));int lastStart = 0;int curlen = 1;int maxLength = 0;hash[str[0]] = 0;for(int i = 1;i < length;i ++){if(hash[str[i]] == -1){curlen++;hash[str[i]] = i;}else{if(lastStart <= hash[str[i]]){curlen = i - hash[str[i]]; //修改当前长度,从与当前字符相同的坐标+1开始到当前坐标的长度lastStart = hash[str[i]] + 1;hash[str[i]] = i;}else{hash[str[i]] = i; //虽然上一个值在当前起点之前,但是还是要记录下新的位置,以防后面还有第三个值curlen++;}}//每一以循环过后比较是否超过之前的最大长度if(curlen > maxLength){maxLength = curlen;}}cout << maxLength << endl;return 0;
}
转载于:https://my.oschina.net/handsomedz/blog/659122
字符串中最长无重复子串(O(n))相关推荐
- 最长不重复字符串python_Python简单实现查找一个字符串中最长不重复子串的方法...
本文实例讲述了Python简单实现查找一个字符串中最长不重复子串的方法.,具体如下: 刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env python #encodi ...
- python查找最长的字符串_Python简单实现查找一个字符串中最长不重复子串的方法...
本文实例讲述了Python简单实现查找一个字符串中最长不重复子串的方法.分享给大家供大家参考,具体如下: 刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env pyth ...
- c与指针 从一个字符串中提取子串_python实现找出来一个字符串中最长不重复子串...
刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env python#encoding:utf-8 '''__Author__:沂水寒城功能:找出来一个字符串中最长不重复 ...
- python找最长的字符串_Python简单实现查找一个字符串中最长不重复子串的方法
本文实例讲述了Python简单实现查找一个字符串中最长不重复子串的方法.分享给大家供大家参考,具体如下: 刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env pyth ...
- 求字符串中最长无重复字符的子串
题目:求一个字符串中最长的没有重复字符的子串. 思路:用hash表从i遍历查看包含i的最长 无重复子串. int max_unique_substring2(char * str) {int i,j; ...
- 求字符串中最长无重复子序列
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.示例 1:输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc" ...
- 找到字符串的最长无重复字符子串
题目: 给定一个字符串str,返回str中最长无重复字符子串的长度. 举例: str = "abcd",返回4. str = "aabcb",返回3. 基本思 ...
- 《程序员代码面试指南》第五章 字符串问题 找到字符串的最长无重复字符子串...
题目 找到字符串的最长无重复字符子串 java代码 努力中.... 转载于:https://www.cnblogs.com/lizhouwei/p/8955166.html
- 【字符串】最长无重复字符子串练习题
**对于一个字符串,请设计一个高效算法,找到字符串的最长无重复字符的子串长度. 给定一个字符串A及它的长度n,请返回它的最长无重复字符子串长度.保证A中字符全部为小写英文字符,且长度小于等于500. ...
最新文章
- @Controller和@RestController的区别?
- Best Practices for Web Apps
- PHP源码分析-PHP的生命周期
- 在 Raspberry Pi 3B 上安装最新版 Node-RED
- Inspeckage,安卓动态分析工具
- java 策略模式 促销_java设计模式——策略模式
- 学习linux问题,小白学习linux遇到的问题汇总
- 「leetcode」202. 快乐数:今天你快乐了么?
- allure测试报告
- 信号与系统与数字信号处理丹梅老师公众号笔记
- CXF 中使用 wsdl2java 示例
- 转 波束成形 Beamforming 简述
- mysql 日期减号_MySQL表字段名包含减号的问题
- 深信服:Weblogic集群负载均衡技术解决方案
- 怎样利用计算机电源,计算机电源功耗如何计算?如何使用电脑功率计算器?
- 海豚湾--纪录日本人如何杀戮海豚的
- Win10.VS2017.Cmake.配置protobuf
- c语言程序π,C语言求圆周率π(三种方法)
- 虹科小课堂|密度测量,你了解多少?
- 评论:AmpliFi HD(高密度)家庭Wi-Fi网状网络系统