Leetcode(JAVA)
題目 : https://leetcode.com/problems/gas-station/ 。
想法 :
走,一直走。
時間複雜度 : O(n)。
程式碼 : (JAVA)
class Solution {
int where, now=0;
boolean check(int[] gas, int[] cost){
int sum = 0;
for(int i=where ; i<gas.length ; i++){
sum += (gas[i] - cost[i]);
if(sum < 0){
where=i;
return false;
}
}
//System.out.printf("\nSum : %d, Now : %d\n", sum, now);
if(sum + now >= 0) return true;
return false;
}
public int canCompleteCircuit(int[] gas, int[] cost) {
int ans = -1;
for(int i=0 ; i<gas.length ; i++){
if(gas[i] - cost[i] >= 0){
where=i;
if(check(gas, cost) == true){
ans = i;
break;
}
for(int j=i ; j<where ; j++){
//System.out.printf("%d ", j);
now += (gas[j] - cost[j]);
}
i=where;
}
//System.out.printf("%d ", i);
now += (gas[i] - cost[i]);
}
return ans == -1 ? -1 : 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