题目:

方法一:
首先我们可以想到暴力解法,就是
·逐个生成字符串
·看他受否含有重复字符

如下代码暴力法:

int LenOfUniqueStr(char* Start)
{int Validity[128] = {0};int Len = 0;char* ReadPos = Start;for (; *ReadPos != '\0' ; ReadPos ++) {int Index = *ReadPos;if (Validity[Index] == 0) {Validity[Index] = 1;Len ++;} else {break;}}return Len;
}int lengthOfLongestSubstring(char * s){int CurrentPos = 0;int StrLen = strlen(s);int MaxLen = 0;while(CurrentPos < StrLen) {     int TempLen = LenOfUniqueStr(s + CurrentPos);MaxLen = (TempLen > MaxLen) ? TempLen : MaxLen;CurrentPos += 1;}return  MaxLen;
}

方法二:滑动窗口以及优化

举例分析思路:
假设

很明显我们需要遍历数据来建立散列表。


如下代码:

class Solution {
public:int lengthOfLongestSubstring(string s) {// 哈希集合,记录每个字符是否出现过unordered_set<char> occ;int n = s.size();// 右指针,初始值为 -1,相当于我们在字符串的左边界的左侧,还没有开始移动int rk = -1, ans = 0;// 枚举左指针的位置,初始值隐性地表示为 -1for (int i = 0; i < n; ++i) {if (i != 0) {// 左指针向右移动一格,移除一个字符occ.erase(s[i - 1]);}while (rk + 1 < n && !occ.count(s[rk + 1])) {// 不断地移动右指针occ.insert(s[rk + 1]);++rk;}// 第 i 到 rk 个字符是一个极长的无重复字符子串ans = max(ans, rk - i + 1);}return ans;}
};

leetcode刷题:1.无重复字符的最长字串相关推荐

  1. LeetCode中等题之无重复字符的最长字串

    题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &q ...

  2. (LeetCode刷题)Day03 无重复字符的最长子串

    无重复字符的最长子串 [3. Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest ...

  3. leetcode 刷题 3. 无重复字符的最长子串解题思路

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3  解释: 因为无重复字符的最长子串是 "abc&q ...

  4. 学渣的刷题之旅 leetcode刷题 3. 无重复字符的最长子串(暴力法、滑动窗口)

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

  5. leetcode刷题:无重复字符的最长子串

    题目: 分析: 取巧解法,通过set class Solution { public:int lengthOfLongestSubstring(string s) {if(s.size() == 0) ...

  6. [剑指offer]面试题第[48]题[Leetcode][JAVA][第3题][无重复字符的最长字串][滑动窗口][HashSet/Map]

    [问题描述][第3题][无重复字符的最长字串] 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.示例 1:输入: "abcabcbb" 输出: 3 解释: 因为无重 ...

  7. python leetcode_python实现leetcode中无重复字符的最长字串

    ​无重复字符的最长字串是一道经典的额字符串处理算法的题目,日常编程过程中,处理字符串是很多见的.用Python来实现leetcode这道算法题,这题会涉及到一个概念"滑动窗口"的概 ...

  8. php无重复字符的最长子串,无重复字符的最长字串问题

    leetcode3:无重复字符的最长字串问题 问题描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释 ...

  9. LeetCode 3.无重复字符的最长字串(滑动窗口)

    题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "a ...

最新文章

  1. idea创建mybatis的config.xml和mapper.xml方法
  2. hbuilder怎么做登录界面_hbuilder 第三方登录实例
  3. mysql 重置root_MySQL 重置Mysql root用户账号密码
  4. 通过90行代码学会HTML5 WebSQL的4种基本操作
  5. 语句作用_3分钟短文:Laravel模型作用域,为你“节省”更多代码
  6. Eclipse中部分快捷键
  7. android 75 新闻列表页面
  8. 函数setState是React的未来
  9. 双域隔离技术何以助力物联网安全? | 人物志
  10. 关于session校验在项目中的使用
  11. 【图像融合】基于matlab GUI SIFT+小波变换图像拼接融合系统【含Matlab源码 815期】
  12. 【TSP】基于matlab hopfield神经网络求解旅行商问题【含Matlab源码 408期】
  13. 2023年东南大学机械工程考研上岸经验
  14. 打砖块游戏源文件_2020年10月手游海外买量分析: 多款RPG游戏上新,休闲厂商霸占Top 推广榜...
  15. 计算机画图讲课ppt,画图教学课件
  16. Chemistry Methods | Image2SMILES+: Transformer-Based Molecular Optical Recognition Engine
  17. 论文笔记(一):Temporal Network Embedding with High-Order Nonlinear Information
  18. 关于HTML字体出现模糊重影,点击后字体后变正常的情况与解决方法
  19. iOS Masonry详解mas_makeConstraints() 添加约束 mas_remakeConstraints() 移除之前的约束,重新添加新的约束 mas_updateConst
  20. Java8 vs Java11

热门文章

  1. PHPExcel导出excel 复制代码
  2. 每日linux命令学习-历史指令查询(history、fc、alias)
  3. SQL语句汇总(一)——数据库与表的操作以及创建约束
  4. 《Linux设备驱动开发详解》学习笔记一
  5. AVR Studio 5 使用初体验及完整版下载地址
  6. document.referer的使用
  7. Windows Server 2008 将与 Visual Studio 2008 和 SQL Server 2008 于2008年2月27 日在洛杉矶共同发布...
  8. xadmin与mysql数据库_django和xadmin打造后台管理系统(一)-xadmin安装及使用
  9. springboot 优雅停机_Spring boot 2.3优雅下线,距离生产还有多远?
  10. (PPT)Python程序设计课程教学内容组织与教学方法实践