求包含所有顏色的最小子串

2021-07-07 02:43:07 字數 573 閱讀 9762

/*

* 求包含所有顏色的最小子串

* 演算法:對顏色編號,以顏色為鍵用陣列儲存子串中該色最後出現位置,未出現顏色賦值為-1,colorsize記錄子串中已出現顏色數,當顏色都包含時比較串長,並儲存此時子串資訊

*/public class allcolor

if(colorsize>=m)

int firstcolor=a[laststart];

laststart=colorindex[firstcolor]+1;

colorindex[firstcolor]=-1; //去除子串首色

colorsize--;

}} laststart=minend-minlen+1;

return new int ; }

public static void main(string argvs) throws exception;

int rst = allcolor(a,5);

system.out.printf("%d %d",rst[0],rst[1]);

}}

包含給定字符集的最小子串

給定乙個字元集合must 0,m 1 和乙個字串str 0,n 1 假定n m 找出str 中包含must 中所有字元的最短子串。例如 給乙個字串s1,和乙個小串s2,求演算法能在s1中找到包含s2裡所有字元的最小子串。比如 s1 adobecodebanc s2 abc 最小子串是 banc 要求...

找符合條件的最小子串

例項 s adobecodebanc t abc s最小符合條件t的最小子串為 banc algorithm 這裡首先要把t串字元放在雜湊表中,碰到t中字元則減1,這裡要注意hash中的個數可以為負數,因為比如abbbbbbca 找到abc很明顯是最後乙個子串,遍歷到後面的b時,它可能有用。那麼怎麼...

演算法 關於最小子串和的擴充套件

子串是連續的,子串行是不連續的。最大子串和用遞迴 f i max f i 1 a i f i 最大子串乘積 維護最大和最小值。最小的子串和的絕對值 例如 1 6 5 1 3 2 3,是0。這個問題怎麼求呢?首先維護乙個sum陣列,sum i a 0 a 1 a i 然後就是求某兩個 sum j su...