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