Leetcode(JAVA)
題目 : https://leetcode.com/problems/maximize-distance-to-closest-person/
想法 :
分成3種Case來看 :
1. 兩個1夾住的
2. 右方有1
3. 左方有1
時間複雜度 : O(n)。
程式碼 : (JAVA)
class Solution {
public int maxDistToClosest(int[] seats) {
int l=seats.length, where=0, ans=0, first=1;
for(int i=0 ; i<l ; i++){
if(first == 1 && seats[i] == 1){
first=0;
ans=Math.max(ans, i-where);
where=i;
continue;
}
if(seats[i] == 1){
ans=Math.max(ans, (i-where)/2);
where=i;
}
}
if(seats[l-1] == 0){
//System.out.printf("%d %d", l, where);
ans=Math.max(ans, l-1-where);
}
return ans;
}
}
題目 : 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