From 4ccaaa2885bf02e0bd484d9e248df96f0964a086 Mon Sep 17 00:00:00 2001 From: kkunkka Date: Sat, 9 Dec 2023 14:30:14 +0800 Subject: [PATCH] kk --- src/main/java/com/dota/Solution.java | 34 ++++++++++++++++++++++++- src/main/java/com/dota/dp/Solution.java | 25 ++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/dota/dp/Solution.java diff --git a/src/main/java/com/dota/Solution.java b/src/main/java/com/dota/Solution.java index 04792e7..904adde 100644 --- a/src/main/java/com/dota/Solution.java +++ b/src/main/java/com/dota/Solution.java @@ -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; + } + } diff --git a/src/main/java/com/dota/dp/Solution.java b/src/main/java/com/dota/dp/Solution.java new file mode 100644 index 0000000..0d35bdf --- /dev/null +++ b/src/main/java/com/dota/dp/Solution.java @@ -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> 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]; + } +}