leetcode 刷題記錄20200411 DP

2021-10-23 06:25:09 字數 645 閱讀 5050

題目:給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。

演算法解析:

1 暴力法:基於字串每一位往兩邊找到最長回文字串

python:

class solution:

def longestpalindrome(self, s: str) -> str:

#暴力法,從i位開始向兩邊找,找到最長回文子串行

def lengthpalidrome(s,l,r):

#從i開始獲得回文

while l>=0 and rlen(res):

res=lengthpalidrome(s,i,i+j)

return res

c++

class solution 

for(int i=0;ireslength)}}

return res;

}string lengthpalindrome(const string &s, int length, int l, int r, int *plen) else

}*plen=r-l-1;

return s.substr(l+1,*plen);

}};

leetcode刷題記錄

我覺得每天來兩道,練習練習,再看看人家是怎麼優化的。1.給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。c 暴力求解,204ms,9.1m class solution for index,num in enumerate ...

LeetCode刷題記錄

動態規劃和貪心演算法的異同點 class solution throw newruntimeexception 時間複雜度 o n 2 對於每個元素,我們試圖通過遍歷陣列的其餘部分來尋找它所對應的目標元素,這將耗費 o n o n 的時間。因此時間複雜度為 o n 2 需要一種方法,尋找符合要求的元...

leetcode刷題記錄

工作之餘刷刷題排解下寂寞 1 面試題66.構建乘積陣列 解題思路 題目要求可以簡化為求陣列中任意乙個元素左右兩邊所有元素的乘積。偷懶就用了乙個套路,練習了p c c python class solution def constructarr self,a list int list int 除法是...