当前位置: 首页 > news >正文

昆明市西山区建设局网站正安县网站seo优化排名

昆明市西山区建设局网站,正安县网站seo优化排名,小说网站静态模板,从音乐网站下载歌曲做铃音要收费吗同余定理同余定理变形前言一、使数组和能被P整除二、同余定理变形总结参考资料前言 同余定理非常经典,采用前缀和 map,当两个余数前缀和为一个值时,则中间一段子数组刚好对P整除。但是能否找到前面是否有一段子数组和可以对P整除呐&#xf…

同余定理+同余定理变形

  • 前言
  • 一、使数组和能被P整除
  • 二、同余定理+变形
  • 总结
  • 参考资料

前言

同余定理非常经典,采用前缀和 + map,当两个余数前缀和为一个值时,则中间一段子数组刚好对P整除。但是能否找到前面是否有一段子数组和可以对P整除呐?反向思考,找map[P - mod]就知道中间一段子数组和对P取余为mod,前面一段子数组和对P取余为0.

一、使数组和能被P整除

在这里插入图片描述

二、同余定理+变形

  • 基本思路
    // 前缀和+map,记录前面除p多余的情况a,a属于[0,p)
    // 有一样的余数,不就能整除了嘛,记录余数+位置,同余定理。
  • 存在问题
    // 但是可能删除中间部分,并不是以index=0为左边界,还得以当前为右边界不断更新map,变成了O(n2),就像两层for循环一样了。
    // 但O(n2)显然超时,回到map,可不可以不for循环更新map,直接反向思考,前面为0,那中间那部分余数就算多余的。
func minSubarray(nums []int, p int) int {// 求整个数组和对p的余数sum := getMod(nums,p)// 前缀和记录,可以正向+反向使用前缀和prefix := map[int]int{0:-1}pre,m := 0,len(nums) // 前缀和,最小删除子数组的长度for i,n := range nums {mod := (n + pre) % p // 正向余数x := (p - sum + mod) % p // 反向余数,可得到中间一段子数组和为sum// 正向余数,同余定理,删除最前面的一截。if v,ok := prefix[sum];ok { m = min(m,v + 1)}// 反向余数,以当前位置为需要删除子数组的右边界,寻找符合要求的左边界。if v,ok := prefix[x];ok {m = min(m,i - v)}prefix[mod] = ipre = mod}// 没有寻找到可删除的子数组。if m == len(nums) {return -1}return m
}
func getMod(nums []int,p int) int {sum := 0for _,n := range nums {sum += nsum %= p}return sum
}
func min(x,y int) int {if x < y {return x}return y
}

总结

1)同余定理,可以O(N)复杂度求到子数组和对P整除,基于此多多思考其本质,才能另辟蹊径,做到其变形解法。

参考资料

[1] LeetCode 使数组和能被P整除

http://www.wangmingla.cn/news/163503.html

相关文章:

  • 做app网站seo企业推广案例
  • 公司做网站的申请排名怎么优化快
  • 怎么更换网站图片昆明seocn整站优化
  • 网站开发工具有哪些外链优化
  • 网站搬家百度推广好做吗
  • 自己怎么做网站视频赚钱吗品牌营销公司
  • 上海的公司seo领导屋
  • 香港主机做视频网站合肥百度关键词排名
  • 为什么做网站比app便宜太原百度快速优化排名
  • vs2015可以做网站么百度人工客服24小时电话
  • 自己做的网站被封了济南百度推广代理商
  • wordpress 点评类网站南宁seo全网营销
  • dede 网站版权信息网站推广的渠道有哪些
  • 怎样做网站3天赚100万重庆seo网络推广关键词
  • 天河营销型网站建设长沙百度快速优化排名
  • 山东省政府采购网 网站建设 招标百度快速排名优化技术
  • 毕设做网站什么主题比较好crm网站
  • 网站模板可视化编辑seo网站推广什么意思
  • c++怎么做网站优帮云查询数据云查询
  • wordpress 商家定位seo的工作流程
  • ps怎么做网站特效培训方案模板
  • 哪些网站权重高产品推广软件有哪些
  • 培训学校类网站建设方案seo网站推广与优化方案
  • 电脑配件网站建设网络营销经典成功案例
  • 锦州网站建设品牌惠州百度推广排名
  • 垂直网站怎么做百度指数官方下载
  • 网站的建设时间怎么查惠州seo关键词推广
  • 温州做网站的公司百度游戏app下载
  • 在线浏览器seo如何建立优化网站
  • 安阳企业网站建设公司app开发费用标准