Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "sort"
- )
- func main(){
- K := 3
- A := []int{2,1,3,1,2,2,3}
- counter := make(map[int] int)
- suitable := make(map[int] bool)
- for _,val := range A {
- _, exist := counter[val]
- if !exist {
- counter[val] = 1
- } else {
- counter[val] ++
- }
- }
- for i := 0 ; i <= (len(A) - K) ; i++ {
- subCounter := CopyMap(counter)
- suitableValue := 0
- ref := 0
- for j := i ; j < (i + K) ; j++ {
- subCounter[A[j]] --
- subCounter[A[j] + 1] ++
- }
- for kk, vv := range subCounter {
- if vv > ref {
- ref = vv
- suitableValue = kk
- }
- }
- suitable[suitableValue] = true
- }
- output := []int{}
- for k,_ := range suitable {
- output = append(output, k)
- }
- sort.Ints(output)
- fmt.Println(output)
- }
- func CopyMap(m map[int]int) map[int]int {
- outMap := make(map[int]int)
- for k,v := range m {
- outMap[k] = v
- }
- return outMap
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement