[C#] LeetCode 3. Longest Substring Without Repeating Characters

Given a string s, find the length of the longest substring without repeating characters.

乍看之下,原意将字符串中的字符遍历,记录每个字符的位置,
遇到相同的字符更新位置,然後比较长度。

来看看㊣官方范例↓
https://ithelp.ithome.com.tw/upload/images/20201106/20132436s5ipmj3lX6.png

看完范例後,如果你的感想是这样的话↓
https://ithelp.ithome.com.tw/upload/images/20201106/201324361x8AmDBYp6.jpg
https://ithelp.ithome.com.tw/upload/images/20201106/20132436XyEAvjooHK.jpg
https://ithelp.ithome.com.tw/upload/images/20201106/20132436yxejfyxYOE.jpg

没关系~看看我的解法吧!

public class Solution {
    public int LengthOfLongestSubstring(string s) {
        var Dict = new HashSet<char>();
        var str = "";
        var max = 0;
        var cur = 0;

        for (int i = 0; i < s.Length; i++)
        {
            if (Dict.Contains(s[i]))
            {
                max = Math.Max(str.Length, max);

                str = "";
                Dict.Clear();
                i = (++cur);
            }

            Dict.Add(s[i]);
            str += s[i];
        }

        return Math.Max(max, str.Length);
    }
}

看看执行结果
https://ithelp.ithome.com.tw/upload/images/20201106/20132436Iik4aWXawH.png


<<:  Why is computer so slow and how to fix

>>:  【图解演算法教学】二元树的一生,听说有些凄凉!?

Day03 永丰金API 基础流程 -- Nonce

每家金流的流程都不太一样,但基本上有牵扯到金钱的东西,肯定会有一堆验证机制, 我们先看一下永丰金的流...

30天零负担轻松学会制作APP介面及设计【DAY 03】

大家好,我是YIYI,今天我要来介绍规格表。 关於规格表 规格表可以帮助大家快速地了解到你所想制作的...

Day3-自制网站卷轴(上)_CSS就能做得到

这次要介绍如何「自制假卷轴」 前言// 大学期间有一次网页程序课程的作业需要仿制一个网站 该网站的左...

Day 14 淘家集运流程设计分享 (今天休一天,分享最近接的案)

因为最近案子有点忙不完,所以决定今天休一天印度气象局,分享一下最近接的案「淘家集运」。 可能不能到太...

XACML 可扩展存取控制标记语言

-示例 XACML 实现 XACML主要用於授权而不是身份验证。可以实施 PKI 以支持相互身份验...