日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度

發(fā)布時(shí)間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目

給定一個(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è)子序列,不是子串。 示例 4:

輸入: s = “” 輸出: 0
提示:

0 <= s.length <= 5 * 104
s 由英文字母、數(shù)字、符號(hào)和空格組成

思考

首先我們考慮就是通過(guò)一個(gè)集合存放遍歷的字符,第一次發(fā)現(xiàn)有重復(fù)的字符標(biāo)記一下集合中存放重復(fù)字符的位置。賦值給臨時(shí)變量temp。后面遍歷的時(shí)候比較臨時(shí)變量和當(dāng)前重復(fù)字符的位置大小區(qū)最大值。可能文案不好理解 舉個(gè)例子:
比如: abcabwert
第一次重復(fù)出現(xiàn)是a 位置是1 第二次出現(xiàn)重復(fù)是b 這時(shí)候temp 就應(yīng)該是2 因?yàn)閎 的位置大于第一次a 的位置。后面這個(gè)abwert 沒(méi)有重復(fù)了 按照正常邏輯算長(zhǎng)度就是 遍歷的長(zhǎng)度 i + 1 - temp 就是當(dāng)前遍歷目前最長(zhǎng)無(wú)重復(fù)字符串長(zhǎng)度。因?yàn)樗潜闅v目前 所以也得給他放到一個(gè)臨時(shí)變量中index。也是每次遍歷取最大值。根據(jù)這個(gè)思路可以得出如下第一種算法。
不管哪種算法思路和上面是如出一轍。比如使用第二種算法,沒(méi)有使用集合存放元素它使用的是assic碼 因?yàn)樯厦嬗幸痪涮崾?s 由英文字母、數(shù)字、符號(hào)和空格組成 可以得出他們所有字符的assic 0-127 所以可以使用一個(gè)int[] s = new int[128] 來(lái)存放每個(gè)字符 值為他們的下標(biāo)+1 位置。
疑問(wèn):為啥要加+1
解答: 是因?yàn)槲覀兿嗤臅r(shí)候返回1 為了統(tǒng)一處理都加1 不用單獨(dú)處理。比如:bbb 不使用下標(biāo)+1 返回就是0 ,使用+1 就是1 。

算法

第一種

/*** 利用hashMap 存放字符 當(dāng)存在的時(shí)候:最終得到最后一個(gè)相同字符的下標(biāo)位置+1** @param s* @return*/public static int lengthOfLongestSubstring(String s) {int length = s.length();int temp = 0;int index = 0;Map<Character, Integer> characterIntegerMap = new HashMap<>(length);for (int i = 0; i < length; i++) {char c = s.charAt(i);if (characterIntegerMap.containsKey(c)) {// 最終得到相同字符的下標(biāo)最大差值temp = Math.max(characterIntegerMap.get(c), temp);}characterIntegerMap.put(c, i + 1);// 最終得到最長(zhǎng)無(wú)重復(fù)字符串長(zhǎng)度: 存在符合要求的的字符串長(zhǎng)度 和 最新遍歷無(wú)重復(fù)長(zhǎng)度 求最大值index = Math.max(index, i + 1 - temp);}return index;}

第二種

/*** 使用char assic 和 int 映射 實(shí)現(xiàn)相同字符的下標(biāo)替換: char的assic值 作為 數(shù)組的下標(biāo) , char 在字符串中下標(biāo)+1 作為數(shù)組的對(duì)應(yīng)的值** @param s* @return*/public static int lengthOfLongestSubstringV2(String s) {int[] arras = new int[128];int length = s.length();int index = 0;int temp = 0;for (int i = 0; i < length; i++) {// 最終得到最后一個(gè)相同字符的下標(biāo)位置+1temp = Math.max(temp, arras[s.charAt(i)]);// 最終得到最長(zhǎng)無(wú)重復(fù)字符串長(zhǎng)度: 存在的字符串長(zhǎng)度 和 最新遍歷無(wú)重復(fù)長(zhǎng)度 求最大值index = Math.max(index, i + 1 - temp);arras[s.charAt(i)] = i + 1;}return index;}

結(jié)果

總結(jié)

以上是生活随笔為你收集整理的给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 不卡欧美 | 国产在线观看第一页 | 中国老太婆性视频 | 日韩激情小说 | 欧美成人精品二区三区99精品 | 日韩精品电影网 | 公侵犯一区二区三区 | 欧美日韩国产麻豆 | h片免费网站 | 国产毛片毛片毛片毛片毛片 | 激情福利社| 欧美xxx在线观看 | 手机av在线不卡 | 污污的网站在线观看 | 中文字幕第一页在线视频 | 视频一区在线免费观看 | av日韩av | 91插插视频 | 久久免费视频播放 | 亚洲成人生活片 | 我看黄色一级片 | 亚洲天堂视频网 | 国产精品伊人久久 | 五月色婷婷综合 | 国产免费一区二区 | 国产激情免费视频 | 五月激情天| 欧美少妇诱惑 | 日本老太婆做爰视频 | 精品人人妻人人澡人人爽牛牛 | 蜜臀久久99精品久久久久久宅男 | 午夜tv| 国产九九 | 成人自拍视频网 | 丝袜美腿中文字幕 | 天天插天天操天天干 | 丁香花高清在线观看完整动漫 | 欧美性网站 | 欧美三级韩国三级日本三斤在线观看 | 天堂a√在线 | 黄色精品在线观看 | 性色av一区二区三区四区 | 亚洲精品久久久久久久蜜桃臀 | 精品一区二区三区毛片 | 一区二区不卡视频在线观看 | 91中文字幕在线观看 | 亚洲高清视频网站 | 日本真人做爰免费视频120秒 | 成人国产免费视频 | 日日碰狠狠添天天爽无码 | 久久久久无码国产精品一区 | 久久亚洲av无码西西人体 | 伊人久久成人网 | 色爱AV综合网国产精品 | 亚洲人成色777777老人头 | 成人午夜小视频 | 日韩操 | 新婚之夜玷污岳丰满少妇在线观看 | 艳妇乳肉豪妇荡乳 | 无码人妻一区二区三区在线 | 国模大尺度视频 | 国产精品123| 嫩草av在线 | 欧美我不卡 | 丰满熟妇人妻av无码区 | 亚洲av无码国产在丝袜线观看 | 成人久久精品人妻一区二区三区 | 日日噜噜噜噜久久久精品毛片 | 性感少妇在线观看 | 四虎永久在线精品免费网址 | 裸体喂奶一级裸片 | 国产精品一区二区在线免费观看 | 亚洲男人天堂av | av影视天堂| 亚洲大片免费观看 | 国产白拍| 亚洲国产婷婷香蕉久久久久久99 | 9l视频自拍九色9l视频成人 | 不卡免费av| 水蜜桃av在线| 夜夜爽www | 国产一级片在线 | 中国av片| 视频免费在线 | 成年人免费av | 娇小萝被两个黑人用半米长 | 国产欧美第一页 | 欧美日韩一区二区三区四区 | 91video| 亚洲永久av | 在线观看国产 | 欧美综合视频在线观看 | 日产精品久久久 | 加勒比视频在线观看 | 巨大胸大乳奶电影 | 国产视频久久久 | av无码久久久久久不卡网站 | 久久久久无码精品国产sm果冻 | 一个人看的视频www 色就是色网站 |