Leetcode(C++)
題目 : https://leetcode.com/problems/longest-palindromic-subsequence/ 。
想法 :
參考別人的想法才知道的,要把原本的字串先反轉過一次,再與原字串做LCS就知道最長廻文。
時間複雜度 : O(n^2)。
程式碼 :
class Solution {
public:
int LCS(string in1, string in2){
int l=in1.size(), dp[1010][1010]={0};
for(int i=1 ; i<=l ; i++){
for(int j=1 ; j<=l ; j++){
if(in1[i-1] == in2[j-1]){
dp[i][j]=dp[i-1][j-1]+1;
}
else{
dp[i][j]=max(dp[i-1][j], dp[i][j-1]);
}
}
}
return dp[l][l];
}
int longestPalindromeSubseq(string s) {
string str=""+s;
reverse(s.begin(), s.end());
return LCS(s,str);
}
};
題目 : https://leetcode.com/problems/richest-customer-wealth/ 。 想法 : 語法。 時間複雜度 : O(n*m)。 程式碼 : (JAVA)
Feb 5, 2022題目 : https://leetcode.com/problems/coin-change-2/ 。 想法 : 無窮背包問題。 時間複雜度 : O(n*m)。 程式碼 : (JAVA)
Feb 5, 2022題目 : https://leetcode.com/problems/integer-break/ 。 想法 : 規律就在2跟3身上(?),把一個數字分解成2跟3的總和就好。 時間複雜度 : O(1)。 程式碼 : (JAVA)
Feb 5, 2022題目 : https://leetcode.com/problems/longest-common-subsequence/ 。 想法 : LCS。 if(str[i] == str[j]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j], dp[i][j-1]);
Feb 5, 2022or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up