代码拉取完成,页面将自动刷新
package main
type entry struct{ cnt, l, r int }
func findShortestSubArray(nums []int) (ans int) {
mp := map[int]entry{}
for i, v := range nums {
if e, has := mp[v]; has {
e.cnt++
e.r = i
mp[v] = e
} else {
mp[v] = entry{1, i, i}
}
}
maxCnt := 0
for _, e := range mp {
if e.cnt > maxCnt {
maxCnt, ans = e.cnt, e.r-e.l+1
} else if e.cnt == maxCnt {
ans = min(ans, e.r-e.l+1)
}
}
return
}
func min(a, b int) int {
if a < b {
return a
}
return b
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。