This commit is contained in:
kkunkka
2023-12-09 14:30:14 +08:00
parent 6c27b377f6
commit 4ccaaa2885
2 changed files with 58 additions and 1 deletions

View File

@@ -22,10 +22,42 @@ public class Solution {
temp -= cardPoints[i - len];
temp += cardPoints[i];
if (temp < max) {
max =temp;
max = temp;
}
}
return sum - max;
}
// 2048. 下一个更大的数值平衡数
public int nextBeautifulNumber(int n) {
while(!ok(++n)) {
}
return n;
}
private boolean ok(int n){
if (n==0) {
return false;
}
int[] dp = new int[10];
while (n!=0) {
int t = n%10;
dp[t]++;
if (dp[t] > t) {
return false;
}
n/=10;
}
for (int i = 1; i < dp.length; i++) {
if (dp[i]!=0 && dp[i]!=i) {
return false;
}
}
return true;
}
}

View File

@@ -0,0 +1,25 @@
package com.dota.dp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Solution {
public long maxTaxiEarnings(int n, int[][] rides) {
long[] dp = new long[n + 1];
Map<Integer, List<int[]>> map = new HashMap<>();
for (int[] ride : rides) {
map.putIfAbsent(ride[1], new ArrayList<>());
map.get(ride[1]).add(ride);
}
for (int i = 1; i <= n; i++) {
dp[i] = dp[i-1];
for (int[] ints : map.getOrDefault(i, new ArrayList<>())) {
dp[i] = Math.max(dp[i], dp[ints[0]] + ints[1]-ints[0]+ints[2]);
}
}
return dp[n];
}
}