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

管局审核一定要能打开网站肇庆网站制作

管局审核一定要能打开网站,肇庆网站制作,罗湖平台网站建设费用,c++可视化界面设计先用贪心做一做。题目可以翻译为——在确保当前部分的所有字母都不再出现在后面的前提下,尽早分割。但是怎么确保当前部分的所有字母都不再出现呢?我们可以**记录每个字母最后出现的位置,然后一旦这个字符串包含的字符都在某个范围内结束了&a…

先用贪心做一做。题目可以翻译为——在确保当前部分的所有字母都不再出现在后面的前提下,尽早分割。但是怎么确保当前部分的所有字母都不再出现呢?我们可以**记录每个字母最后出现的位置,然后一旦这个字符串包含的字符都在某个范围内结束了,立马分割。**就我现在而言感觉这个思路比较难想到。

func partitionLabels(s string) []int {// 每个字符的距离记录到mapm := make(map[rune]int, 26)for i,v := range s {m[v] = i}start := 0 // 本次字符串起始位置maxi := 0 // 已经包含的字符最长在哪里结束var res []intfor i,v := range s {maxi = max(maxi, m[v])if i==maxi {res = append(res, maxi-start+1)start = maxi+1}}return res
}

也可以用哈希表+滑动窗口来做。先记录下每个字母的出现次数,然后对滑动窗口中的每个字母判断次数是否用尽为 0,如果这个窗口内的所有字母次数都为 0,这个窗口就是符合条件的窗口。时间复杂度为 O(n)

func partitionLabels(s string) []int {m := make(map[byte]int, 0)for _, v := range s {m[byte(v)]++}// 判断目前滑动窗口内有哪些字母visit := make([]bool,26) // 使用后不用置0,因为后续不会在出现以前使用过的字符了res := make([]int, 0)lastlen := 0for i:=0; i<len(s); i++ {m[s[i]]--visit[s[i]-'a'] = truesum := 0 // 当字符串被分离出去时,所有被vistied的map都应该是0for j, v := range visit {if v {sum += m[byte('a'+j)]}}if sum == 0 {res = append(res, (i+1) - lastlen)lastlen = i+1}} return res
}
http://www.dtcms.com/wzjs/573857.html

相关文章:

  • 南宁网站建设云尚网络无锡做网站公司在哪里
  • 房地产门户网站建设十大景观设计公司
  • 做logo宣传语的网站网站的分析
  • 网站设计的宽度噼里啪啦电影免费观看高清
  • 枣庄建设局网站柳州做网站公司
  • 优秀的响应式网站wordpress的ftp
  • 手机网站标准中国建设银行网站怎么交学费
  • 大连成品网站建设苏州专业的网站建设公司
  • 西安网站建设行业动态行业平台网站建设
  • 如何让商家建设网站wordpress页面修改
  • 快站建站新闻发稿计划
  • 深圳营销型网站费用add_action wordpress
  • 企业网站 源代码个人网站备案备注写什么
  • 什么是网站建设方案怎么做网站最便宜
  • 网站页面维护h5可以来做网站吗
  • 婚庆网站html模板263企业邮箱pop3设置
  • 帝国做的网站打开速度重庆网站建设建站收费
  • 南乐网站开发南宁自助建站模板下载
  • 东莞教育建站页面设计升级访问紧急通知
  • 德保县建设局的网站想做个网站要多少钱
  • 网站域名年费多少钱网站流量排名
  • 做网站 需要买云服务器吗哪些网站有友情链接
  • 上海城市建设网站325建筑人才网招聘
  • 网站建设大体包含公司活动策划方案怎么做
  • 网站建设制作软件叫啥网站建设贵吗
  • 有什么正规的网站做代加工网站改变配色方案
  • 比较有名的设计网站做药的常用网站有哪些
  • 陕西省住房和城乡建设网站推广公司业务发朋友圈
  • 网站模板管理青岛金融网站建设
  • 基于html5的网站建设论文苏州网站建设公司排名