diff --git a/src/main/java/com/dota/sort/_2343/Solution.java b/src/main/java/com/dota/sort/_2343/Solution.java new file mode 100644 index 0000000..40b990f --- /dev/null +++ b/src/main/java/com/dota/sort/_2343/Solution.java @@ -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; + } +} \ No newline at end of file diff --git a/src/main/java/com/dota/sort/_274/Solution.java b/src/main/java/com/dota/sort/_274/Solution.java new file mode 100644 index 0000000..4785030 --- /dev/null +++ b/src/main/java/com/dota/sort/_274/Solution.java @@ -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; + } +} \ No newline at end of file diff --git a/src/main/java/com/dota/str/Solution.java b/src/main/java/com/dota/str/Solution.java new file mode 100644 index 0000000..873a51f --- /dev/null +++ b/src/main/java/com/dota/str/Solution.java @@ -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) { + + } +} \ No newline at end of file