力扣解題思路 環繞字串中唯一的子字串 糾錯記錄

2021-10-12 17:56:21 字數 852 閱讀 7420

思路:

我把這一題和這題《等差數列劃分》弄混了,於是我按照同一種方法進行動態規劃:

class

solution

system.out.

println

(dp[i]);

sum += dp[i];}

return sum;

}}

然後就出問題了。。。因為這個題目中有重複字元!!比如cac我會認為答案是3(c,a,c),所以錯了,所以這種方法行不通!!

除了用hashset去重,我們是否還有更簡單的方式呢,比如我們在計算個數時就去重:

統計以每個字元作為結尾的最長連續序列(可以覆蓋掉重複的短序列的情況), 他們的和即為所求。例如:abcdbcd, 對於以d結尾的有abcd, bcd, cd和d, 而bcd產生的序列都會被abcd所覆蓋。總和即以a、b、c和d結尾的所有連續最長序列1 + 2 + 3 + 4 = 10。

public

intfindsubstringinwraproundstring

(string p)

else

count[str[i]

-'a'

]= math.

max(count[str[i]

-'a'

], curmaxlen);}

for(

int temp : count)

res += temp;

return res;

}

力扣解題記錄之無重複字串的最長字串

題目 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。解題思路 暴力遍曆法 這個就沒什麼好說了,反正寫出來也一定會超出時間限制。滑動視窗與雜湊表 滑動視窗是乙個佇列,佇列是一種特殊的線性表,它的特點在於只能在表的一端進行插入操作,在另一端進行刪除操作。對字串進行遍歷時,將字元乙個個推入...

力扣解題思路 583 兩個字串的刪除操作

思路 刪除兩個字串的字元使它們相等 input sea eat output 2explanation you need one step to make sea to ea and another step to make eat to ea 更新 這一題,我又一次沒有想到最長公共子串行的方法,採...

力扣 字串中的第乙個唯一字元 c

給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 1。示例s leetcode 返回 0 s loveleetcode 返回 2 解題思路 1 第一種最開始的思路是逐個字元去做迴圈遍歷,但是這個方案並不是最優的,遍歷的次數,是n n 1次。所以如果遇到字串很長的話,會有問...