双周赛101
This commit is contained in:
parent
4c64b18deb
commit
8728f6f11d
50
src/main/java/contest/y2023/BW101.java
Normal file
50
src/main/java/contest/y2023/BW101.java
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
package contest.y2023;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class BW101 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
BW101 solution = new BW101();
|
||||||
|
solution.maximumCostSubstring("adaa", "d", new int[]{-1000});
|
||||||
|
}
|
||||||
|
|
||||||
|
public int maximumCostSubstring(String s, String chars, int[] vals) {
|
||||||
|
int[] score = new int[26];
|
||||||
|
for (int i = 0; i < 26; i++) {
|
||||||
|
score[i] = i + 1;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < chars.length(); i++) {
|
||||||
|
char ch = chars.charAt(i);
|
||||||
|
score[ch - 'a'] = vals[i];
|
||||||
|
}
|
||||||
|
int bef = 0;
|
||||||
|
int max = 0;
|
||||||
|
for (char ch : s.toCharArray()) {
|
||||||
|
bef = Math.max(bef + score[ch - 'a'], score[ch - 'a']);
|
||||||
|
max = Math.max(max, bef);
|
||||||
|
}
|
||||||
|
return max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int minNumber(int[] nums1, int[] nums2) {
|
||||||
|
Arrays.sort(nums1);
|
||||||
|
Arrays.sort(nums2);
|
||||||
|
int i1 = 0;
|
||||||
|
int i2 = 0;
|
||||||
|
while (i1 < nums1.length && i2 < nums2.length) {
|
||||||
|
if (nums1[i1] == nums2[i2]) {
|
||||||
|
return nums1[i1];
|
||||||
|
}
|
||||||
|
if (nums1[i1] < nums2[i2]) {
|
||||||
|
i1++;
|
||||||
|
} else {
|
||||||
|
i2++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (nums1[0] < nums2[0]) {
|
||||||
|
return nums1[0] * 10 + nums2[0];
|
||||||
|
} else {
|
||||||
|
return nums2[0] * 10 + nums1[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user