a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 開發設計 > 正文

Longest Substring Without Repeating Characters

2019-11-14 09:50:30
字體:
來源:轉載
供稿:網友

這里寫圖片描述

題目要求我們得出不含重復元素子串的最大長度。 解題思路: 一開始使用暴力破解法(兩遍for循環),結果直接TimeLimit .后面查看官方答案,感到柳暗花明。

代碼解釋: 首先,定義了一個256大小的int數組map,用于對應于256位ASCII碼,接下來,在for循環中用了一個while語句,j從0開始依次往后漸增,當s.charAt[j]是第一次出現,便將map[s.charAt(j)]賦值1(一開始map[]數組初始化為0),當第二次出現前面的元素時while語句的map[s.charAt(j)]==0條件不再滿足,此時while語句跳出執行下一次for循環語句,便把之前的 map[s.charAt(i)] = 0。如果,之前的引起while語句跳出的因素仍未消除j將繼續卡在原來的那一步,并重復上述操作。最后得到答案。

參考答案:

public int lengthOfLongestSubstring(String s) { int[] map = new int[256]; // map from character's ASCII to its last occured index int j = 0; int i = 0; int ans = 0; for (i = 0; i < s.length(); i++) { while (j < s.length() && map[s.charAt(j)]==0) { map[s.charAt(j)] = 1; ans = Math.max(ans, j-i + 1); j ++; } map[s.charAt(i)] = 0; //釋放元素,達到解除j卡死因素的目的 } return ans;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲精品国产综合区久久久久久久 | 久久精品国产清自在天天线 | 色精品视频 | 99在线视频观看 | 久久综合久久久 | 精品www| 国产欧美综合一区二区三区 | 久久国产精品无码网站 | 国产精品久久久久久吹潮 | 国产精品久久久久一区二区三区共 | 黑人巨大精品欧美一区二区 | 91亚洲精品一区 | 影音先锋男人网 | 91精品久久久久久久久 | www.99热| 亚洲成人首页 | 国产精品高清在线 | 最新日韩精品在线观看 | 亚洲黄色性视频 | 中文字幕亚洲电影 | 精品久久99 | 蜜桃一区二区三区 | 91爱爱| 超碰av人人| 91久久国产 | h视频网站在线 | 精品在线不卡 | 四虎成人精品 | 中文字幕在线免费观看 | 91九色在线 | 国产精品久久久久久久电影 | 91在线精品一区二区 | 最新黄色网址在线播放 | 久久草在线视频 | 亚洲成人国产精品 | 欧美有码在线观看 | 国产玖玖| 成人在线视频免费 | 久久婷婷色 | 欧美一级二级视频 | www312aⅴ欧美在线看 |