This commit is contained in:
kkunkka
2025-03-10 16:30:17 +08:00
parent c59cbb28d8
commit 412ed10614
3 changed files with 69 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
package com.dota.sort._2343;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.stream.IntStream;
class Solution {
public int[] smallestTrimmedNumbers(String[] nums, int[][] queries) {
var n = nums.length;
var m = nums[0].length();
var res = new int[queries.length];
for (int i = 0; i < queries.length; i++) {
var idx = new java.util.ArrayList<>(IntStream.range(0, n).boxed().toList());
int finalI = i;
idx.sort(Comparator.comparing(j -> nums[j].substring(m - queries[finalI][1])));
res[i] = idx.get(queries[i][0] - 1);
}
return res;
}
}

View File

@@ -0,0 +1,20 @@
package com.dota.sort._274;
class Solution {
public int hIndex(int[] citations) {
var dp = new int[1001];
var n = citations.length;
for (int citation : citations) {
dp[Math.min(n, citation)]++;
}
var count = 0;
for (int i = dp.length - 1; i >= 0; i--) {
if (i <= dp[i] + count) {
return i;
}
count += dp[i];
}
return 0;
}
}

View File

@@ -0,0 +1,27 @@
package com.dota.str;
import java.util.Random;
class Solution {
public String breakPalindrome(String palindrome) {
if (palindrome.length() <= 1) {
return "";
}
var sb = new StringBuilder(palindrome);
for (int i = 0; i < palindrome.length(); i++) {
if (palindrome.charAt(i) != 'a' && !(i * 2 + 1 == palindrome.length())) {
sb.setCharAt(i, 'a');
return sb.toString();
}
}
sb.setCharAt(sb.length()-1, 'b');
return sb.toString();
}
}
class Solution {
public int beautifulSubsets(int[] nums, int k) {
}
}