日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩精品一区二区不卡 | 夜夜看av | 日韩美女性生活 | 伊人五月婷婷 | 欧美视频三区 | 日本午夜网站 | 日韩乱码人妻无码系列中文字幕 | 亚洲精品免费在线观看视频 | 日韩精品影院 | 欧美挤奶吃奶水xxxxx | 日韩精品第1页 | 日韩av中字| 精品98| 黄色欧美大片 | 精品一区二区三区免费毛片 | 精品国产一区二区三区在线观看 | 女人18毛片水真多18精品 | 成人欧美一区二区三区黑人动态图 | 99久久精品无免国产免费 | 色综合色综合色综合 | 国产精品一品二品 | 538国产精品一区二区免费视频 | 永久免费的av网站 | 久久2019| 91老肥熟 | 国产日韩欧美精品一区二区 | 国产黄色大片免费看 | 亚洲春色www | 久久久久国产精品一区二区 | 日韩在线免费视频观看 | av毛片在线免费观看 | 一级特黄性色生活片 | 日本免费高清一区二区 | 国产精品天天看 | a级片视频网站 | 射射射综合网 | 国产一级黄色片子 | 干干干日日日 | 素人fc2av清纯18岁 | 天天色天天色天天色 | 波多野结衣家庭主妇 | 国产乱码精品一区二三赶尸艳谈 | 国产精品免费av | 狂躁美女大bbbbbb黑人 | 综合五月天 | 国产精品7 | 日韩一级二级三级 | 亚洲网站在线看 | 中国女人一级片 | 亚洲欧美精品在线观看 | 国产干b| 日日狠狠久久偷偷四色综合免费 | 干操网| 成人av男人的天堂 | 日韩欧美不卡在线 | 99精品欧美一区二区 | 久久亚洲av无码西西人体 | 日韩精品毛片 | 1024av在线 | 久久久久久国产精品免费播放 | www伊人| 久久国产精品久久国产精品 | 少女忠诚电影高清免费 | 野外做受又硬又粗又大视频√ | 另类一区二区 | 亚洲色图婷婷 | 四虎影视永久地址 | 亚洲免费不卡视频 | 国产精品秘 | 三级性生活片 | 火影黄动漫免费网站 | 人人人超碰 | 日韩经典一区 | 国产亚洲精品成人av在线 | 亚洲人免费视频 | 亚洲精品中文字幕成人片 | 最近中文字幕在线mv视频在线 | 国产精品69久久久久 | 亚洲第一福利网站 | 你懂的视频在线播放 | 国产99久久久 | jjzz黄色片 | 制服丝袜第二页 | 国产又粗又长又大视频 | 在线视频中文字幕 | 国语对白一区二区三区 | 青青青视频在线 | 亚洲区免费 | 99热网址| 一区二区三区日韩欧美 | 91日日夜夜 | 视频在线 | 91色精品 | 夫妻淫语绿帽对白 | www.av天天| 日韩激情网 | 亚洲一区综合 | 欧美午夜精品理论片a级按摩 | 波多野结衣免费视频观看 |