Leetcode(JAVA)
題目 : 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]);
時間複雜度 : O(n*m)。
程式碼 : (JAVA)
class Solution {
public int longestCommonSubsequence(String text1, String text2) {
int l1=text1.length(), l2=text2.length();
int[][] dp=new int[1010][1010];
for(int i=1 ; i<=l1 ; i++){
for(int j=1 ; j<=l2 ; j++){
if(text1.charAt(i-1) == text2.charAt(j-1)){
dp[i][j]=dp[i-1][j-1]+1;
}
else{
dp[i][j]=Math.max(dp[i-1][j],dp[i][j-1]);
}
}
}
return dp[l1][l2];
}
}
題目 : 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/wiggle-subsequence/ 。 想法 : LIS改版。 時間複雜度 : O(n^2)。 程式碼 : (JAVA)
Feb 5, 2022or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up