尋找字串最長不重複的子串
例子:1、字串“abcabcbb”,最長子串是“abc”,長度是3;
2、字串“bbbb”,最長子串是“b”,長度是1;
3、字串“pwwkew”,最長子串是“wek”,長度是3;
程式是:
var lengthOfLongest = function (s){
if(s ==='') return 0;
var len = s.length,l = len,RErepeat = /(.).*\1/;
while(l>1){
for (var i = 0; i < len-l+1; i++) {
var temp = s.substr(i,l);
if(!RErepeat.test(temp)) return temp;
}
l--;
}
if(l===1) return 1;
}
console.log(lengthOfLongest('abcabcbb'));
輸出結果是 “abc”。
相關推薦
找出字串最長不重複子串(或者是列表)
# 找出來一個字串中最長不重複子串def find_Maxlen_Son_list(astr): maxlen = 0 定義最長字串的初始長度// dict = {} list1 = [] for i in range(0,len(astr)): str2 = ''
找出字串最長不重複子串,輸出長度
找出字串的最長不重複子串,輸出長度和子串 方法一:窮舉法,空間複雜度是O(1),時間複雜度是O(N^4) java程式碼實現 <pre name="code" class="java">
尋找字串最長不重複的子串
例子:1、字串“abcabcbb”,最長子串是“abc”,長度是3; 2、字串“bbbb”,最長子串是“b”,長度是1; 3、字串“pwwkew”,最長子串是“wek”,長度是3; 程式是: var lengthOfLongest = function (s)
尋找一個字串中的最長重複子串(字尾陣列)&找出一個字串中最長不重複子串
一、尋找一個字串中的最長重複子串(字尾陣列) 字尾陣列其實可以看尋找一個字串中的最長重複子串(字尾陣列)作一個由字串s倒數i個字元組成的子串的集合,其中0<i<s.length(),例如 字串strstr的字尾陣列為: {r,tr,str,rstr,trstr,
字串中最長不重複子串和最長迴文子串演算法
一) 這裡用GOLANG實現了一個查詢最長不重複子串的演算法,在暴力查詢的基礎上作了優化,雖然速度還是比較慢,但是有助於理解後邊高階的演算法,值得一記。 暴力查詢的優化思路: 1)如果我們已經查詢到的最大子串長度比剩下沒有for到的子串還長,那最大子串不可能會在發生改變了
python實現找出來一個字串中最長不重複子串
剛結束的一個筆試題,很簡單,不多說簡單貼一下具體的實現: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:找出來一個字串中最長不重複子串 ''' def find_longest_no_repe
] 找工作知識儲備(2)---陣列字串那些經典演算法:最大子序列和,最長遞增子序列,最長公共子串,最長公共子序列,字串編輯距離,最長不重複子串,最長迴文子串
作者:寒小陽 時間:2013年9月。 0、前言 這一部分的內容原本是打算在之後的字串或者陣列專題裡面寫的,但看著目前火熱進行的各家網際網路公司筆試面試中,出現了其中的一兩個內容,就隨即將這些經典問題整理整理,單寫一
找出字串的最長不重複子串,輸出長度和子串
方法一:窮舉法,空間複雜度是O(1),時間複雜度是O(N^4) <pre name="code" class="java">public class Max_substring { public int max_unique_substring(char
求字串中的最長不重複子串
題目描述: 給定一字串只包含數字,請寫一個演算法,找出該字串中的最長不重複子串(不重複是指子串中每一元素不同於子串中其他元素) 如:“120135435”最長不重複子串為 “201354”
【字串處理系列】最長不重複子串
問題描述:最長不重複子串是要找出一個字串中沒有重複字元的最長子串,需要注意的是這裡指的是子串,而不是字元序列,子串要求連續,字元序列可以不連續 解題思路:建立兩個索引i , j,i在前,j在後; i和j之間的字元儲存在一個HashSet中,並且他們之間沒有重複的字元;每當i
求字串中的,最長不重複子串--java程式碼
package ali; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; import java.util.TreeMap; p
java字串的最長不重複子串,
程式碼如下圖所示,時間複雜度為O(n),不僅獲得最長的子串長度,並輸出了子串。 public static void longestSubstring(String s) { int ret = 0; int m[]=new int[256]; fo
求最長不重複子串---LeetCode3
Longest Substring Without Repeating Characters 題目描述 Given a string, find the length of the longest substring without repeating characters. Exa
位元組跳動2018.9.9筆試 最長不重複子串
題目描述 給定一個字串,請找出其中無重複字元的最長子字串的長度。例如,“abcabcbb”,其無重複字元的最長子字串實“abc”,其長度為3。“bbbbb”,其無重複字元的最長子字串是“b”,長度為1。 此題是leetcode第三題原題。 本人思路 以上圖為例
LeetCode千題斬之3:Longest Substring Without Repeating Characters(最長不重複子串)
題目:Given a string, find the length of the longest substring without repeating characters. 先說說思路,優化的方法在於用一個滑動的視窗[i,j]瀏覽字串,先把遇到的字元加入一個字典dic
最長不重複子串(精簡)
直接甩出程式碼吧,有問題可以交流討論,有O(n)的解法,有興趣小夥伴的可以自行了解。 //動態規劃的演算法求解( 時間複雜度是O(n^2) ) #include #include #include using namespace std; int main(){ char a[20]=
求最長重複子串 和 最長不重複子串 思路
題目: 求任意一個字串中的所有最長重複字串和所有最長不重複子串 最長不重複子串的解法: 設定一個輔助資料結構(如map)記錄每個字元最後一次出現的位置;遍歷字串中的每個字元,如果在map
動態規劃之最長遞增子序列 最長不重複子串 最長公共子序列
【前言】動態規劃:與分治法相似,即通過組合子問題來求解原問題,不同的是分治法是將問題劃分為互不相交的子問題,遞迴求解子問題,再將他們組合起來求出原問題的解。 動態規劃則應用於子問題重疊的情況,通常用來求解最優化問題。這類問題可以有很多可行解,每個解都有一個值,我們希望尋找最
【死磕演算法·字串問題】最長無重複子串問題
題目大意: 給定一個字串str,求該字串中的最長無重複子串的長度。 如“abcd”的最長無重複子串是“abcd”,長度為4;“abcb”的最長無重複子串是“abc”,長度為3。 題目思路: 遍歷字串,表示出以每個字串元素str[i]為結尾的最長無重複子串長度,遍歷完成後求最大值即可。
給定一個字串,求出其最長的重複子串的長度
題目來源:這是程式設計珠璣上的一道題目 概念 字串的字首和字尾 例如字串 s =“abcdeabc” 則s的字首: “a”,“ab”,“abc”,“abcd”,“abcde”,“abcdea”,“abcdeab”,“abcdeabc”其中除了s