kk
This commit is contained in:
14
src/main/java/com/dota/greedy/_2712/Solution.java
Normal file
14
src/main/java/com/dota/greedy/_2712/Solution.java
Normal 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;
|
||||
}
|
||||
}
|
42
src/main/java/com/dota/slidingWindow/_438/Solution.java
Normal file
42
src/main/java/com/dota/slidingWindow/_438/Solution.java
Normal 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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user