最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

LeetCode程序員面試題之無(wú)重復(fù)字符的最長(zhǎng)子串

 更新時(shí)間:2023年02月05日 09:32:40   作者:97的風(fēng)  
Java計(jì)算無(wú)重復(fù)字符的最長(zhǎng)子串是一種常見(jiàn)的字符串處理算法,它的目的是找出一個(gè)字符串中無(wú)重復(fù)字符的最長(zhǎng)子串。該算法可以很好地解決一些字符串處理問(wèn)題,比如尋找字符串中重復(fù)字符的位置,以及計(jì)算字符串中無(wú)重復(fù)字符的最長(zhǎng)子串的長(zhǎng)度。

1.簡(jiǎn)述:

給定一個(gè)字符串 s ,請(qǐng)你找出其中不含有重復(fù)字符的 最長(zhǎng)子串 的長(zhǎng)度。

示例 1:

輸入: s = "abcabcbb"

輸出: 3

解釋: 因?yàn)闊o(wú)重復(fù)字符的最長(zhǎng)子串是 "abc",所以其長(zhǎng)度為 3。

示例 2:

輸入: s = "bbbbb"

輸出: 1

解釋: 因?yàn)闊o(wú)重復(fù)字符的最長(zhǎng)子串是 "b",所以其長(zhǎng)度為 1。

示例 3:

輸入: s = "pwwkew"

輸出: 3

解釋: 因?yàn)闊o(wú)重復(fù)字符的最長(zhǎng)子串是 "wke",所以其長(zhǎng)度為 3。

    請(qǐng)注意,你的答案必須是 子串 的長(zhǎng)度,"pwke" 是一個(gè)子序列,不是子串。

2.代碼實(shí)現(xiàn):

class Solution {
public int lengthOfLongestSubstring(String s) {
// 哈希集合,記錄每個(gè)字符是否出現(xiàn)過(guò)
Set<Character> occ = new HashSet<Character>();
int n = s.length();
// 右指針,初始值為 -1,相當(dāng)于我們?cè)谧址淖筮吔绲淖髠?cè),還沒(méi)有開(kāi)始移動(dòng)
int rk = -1, ans = 0;
for (int i = 0; i < n; ++i) {
if (i != 0) {
// 左指針向右移動(dòng)一格,移除一個(gè)字符
occ.remove(s.charAt(i - 1));
}
while (rk + 1 < n && !occ.contains(s.charAt(rk + 1))) {
// 不斷地移動(dòng)右指針
occ.add(s.charAt(rk + 1));
++rk;
}
// 第 i 到 rk 個(gè)字符是一個(gè)極長(zhǎng)的無(wú)重復(fù)字符子串
ans = Math.max(ans, rk - i + 1);
}
return ans;
}
}

到此這篇關(guān)于LeetCode程序員面試題之無(wú)重復(fù)字符的最長(zhǎng)子串的文章就介紹到這了,更多相關(guān)Java計(jì)算無(wú)重復(fù)字符的最長(zhǎng)子串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?8?Time?Api?使用方法技巧

    Java?8?Time?Api?使用方法技巧

    這篇文章主要介紹了Java?8?Time?Api?使用方法技巧,Java?8為Date和Time引入了新的API,以解決舊java.util.Date和java.util.Calendar的缺點(diǎn),更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-05-05
  • SpringBoot2.0整合Redis自定義注入bean組件配置的實(shí)戰(zhàn)教程

    SpringBoot2.0整合Redis自定義注入bean組件配置的實(shí)戰(zhàn)教程

    這篇文章主要介紹了SpringBoot2.0整合Redis自定義注入bean組件配置,我們將基于SpringBoot2.0整合搭建的微服務(wù)項(xiàng)目為奠基,開(kāi)啟中間件Redis的實(shí)戰(zhàn)之路,需要的朋友可以參考下
    2023-06-06
  • java 讀取zip文件的兩種方式示例詳解

    java 讀取zip文件的兩種方式示例詳解

    ZIP(壓縮文件)是一種常見(jiàn)的文件格式,在Java中可以使用java.util.zip包提供的API來(lái)讀取和處理ZIP文件,本文將介紹如何使用Java讀取ZIP文件,并提供代碼示例,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • Java設(shè)計(jì)模式之java組合模式詳解

    Java設(shè)計(jì)模式之java組合模式詳解

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之組合模式,簡(jiǎn)單說(shuō)明了組合模式的原理,并結(jié)合實(shí)例分析了java組合模式的具體用法,需要的朋友可以參考下
    2021-09-09
  • java反射機(jī)制的一些學(xué)習(xí)心得小結(jié)

    java反射機(jī)制的一些學(xué)習(xí)心得小結(jié)

    這篇文章主要給大家介紹了關(guān)于java反射機(jī)制的一些學(xué)習(xí)心得,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • SpringBoot集成PageHelper及使用方法詳解

    SpringBoot集成PageHelper及使用方法詳解

    這篇文章主要介紹了SpringBoot集成PageHelper及使用方法詳解,PageHelper 是一個(gè)開(kāi)源的 Java 分頁(yè)插件,它可以幫助開(kāi)發(fā)者簡(jiǎn)化分頁(yè)操作,本文提供部分相關(guān)代碼,需要的朋友可以參考下
    2023-10-10
  • springboot快速整合Mybatis組件的方法(推薦)

    springboot快速整合Mybatis組件的方法(推薦)

    Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。這篇文章主要介紹了springboot快速整合Mybatis組件的方法,需要的朋友可以參考下
    2019-11-11
  • Java Socket編程(三) 服務(wù)器Sockets

    Java Socket編程(三) 服務(wù)器Sockets

    Java Socket編程(三) 服務(wù)器Sockets...
    2006-12-12
  • springboot不掃描@repository的問(wèn)題及解決

    springboot不掃描@repository的問(wèn)題及解決

    這篇文章主要介紹了springboot不掃描@repository的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • SpringBoot 使用 Ehcache 作為緩存的操作方法

    SpringBoot 使用 Ehcache 作為緩存的操作方法

    這篇文章主要介紹了SpringBoot 如何使用 Ehcache 作為緩存,我們通過(guò)添加 Ehcache 依賴、創(chuàng)建 Ehcache 配置文件并在 Spring Boot 應(yīng)用程序的配置文件中啟用 Ehcache 緩存,來(lái)配置 Ehcache 緩存,需要的朋友可以參考下
    2023-06-06

最新評(píng)論

博爱县| 阳江市| 桂平市| 松原市| 衢州市| 宝丰县| 陇西县| 沭阳县| 印江| 深泽县| 临清市| 荔浦县| 镇巴县| 张家口市| 红安县| 浏阳市| 剑阁县| 乐山市| 马鞍山市| 葵青区| 丹凤县| 大荔县| 富宁县| 马尔康县| 德格县| 荔浦县| 深州市| 彰化市| 琼结县| 湘潭县| 关岭| 高安市| 习水县| 吴桥县| 加查县| 苏尼特右旗| 通化县| 芦山县| 福州市| 岳阳市| 册亨县|