This commit is contained in:
kkunkka
2025-03-27 23:08:17 +08:00
parent 8fdf791bc5
commit 671172ffc4
2 changed files with 56 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
package com.dota.greedy._2712;
class Solution {
public long minimumCost(String s) {
long res = 0;
int n = s.length();
for (int i =1; i < s.length(); i++) {
if (s.charAt(i-1) != s.charAt(i)) {
res += Math.min(i+1, n-i);
}
}
return res;
}
}

View File

@@ -0,0 +1,42 @@
package com.dota.slidingWindow._438;
import java.util.ArrayList;
import java.util.List;
class Solution {
public List<Integer> findAnagrams(String s, String p) {
if (s.length()<p.length()) {
return new ArrayList<>();
}
var list = new ArrayList<Integer>();
int k = p.length();
var dp = new int[26];
var book = new int[26];
for (int i = 0; i < k; i++) {
dp[p.charAt(i) - 'a']++;
book[s.charAt(i) - 'a']++;
}
if (check(dp,book)) {
list.add(0);
}
int l = 0;
for (int i = k; i <s.length() ; i++) {
book[s.charAt(l++) - 'a']--;
book[s.charAt(i) - 'a']++;
if (check(dp,book)) {
list.add(i-k+1);
}
}
return list;
}
boolean check(int[] a, int[]b) {
for (int i = 0; i < 26; i++) {
if (a[i] != b[i]) {
return false;
}
}
return true;
}
}