Leetcode(JAVA)
題目 : https://leetcode.com/problems/word-pattern/ 。
想法 :
用MAP映射字元到對應的字串,如果不同就返回False,否則為True。
時間複雜度 : O(n)。
程式碼 : (JAVA)
class Solution {
public boolean wordPattern(String pattern, String s) {
String[] arr=s.split(" ");
if(pattern.length() != arr.length) return false;
Map<Character, String> map=new HashMap<>();
Map<String, Character> rev=new HashMap<>();
for(int i=0 ; i<arr.length ; i++){
char p=pattern.charAt(i);
String sub=arr[i];
if(map.get(p) == null && rev.get(sub) == null){
map.put(p, sub);
rev.put(sub, p);
}
else if(map.get(p) == null || rev.get(sub) == null){
return false;
}
else{
if(map.get(p).equals(sub) && rev.get(sub).equals(p)){
continue;
}
else{
return false;
}
}
}
return true;
}
}
題目 : 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