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

六安有哪些做网站的公司网站快速优化排名软件

六安有哪些做网站的公司,网站快速优化排名软件,清空wordpress数据库,常用的搜索引擎网站先用贪心做一做。题目可以翻译为——在确保当前部分的所有字母都不再出现在后面的前提下,尽早分割。但是怎么确保当前部分的所有字母都不再出现呢?我们可以**记录每个字母最后出现的位置,然后一旦这个字符串包含的字符都在某个范围内结束了&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/457260.html

相关文章:

  • 网站建设做网站好做吗免费网站模板网
  • 临沂网站建设设计网上推广平台
  • 如何做网站卖衣服深圳网络推广营销
  • 广州个人网站搭建全球搜索
  • 网站提交搜索引擎中国网络营销网
  • 地推网站信息怎么做推广文章的注意事项
  • 网站免费建站 网页不需要备案重庆网络seo
  • 广安市建设局官方网站怎么做品牌推广和宣传
  • 爱网站排行站长工具名称查网站
  • 新媒体营销的概念承德seo
  • 电子商务 网站建设百度如何做推广
  • 手机怎样做自己的网站营销网站建设哪家快
  • 中山网页设计苏州seo优化公司
  • 广州天拓做网站吗成都网站关键词推广
  • 局域网如何做网站电子商务网页制作
  • 河南省工程建设信息网官网河南省增值税普通发票查询系统系统优化软件哪个最好的
  • 加强网站建设和维护工作2023年8月新冠
  • 网络营销理论包括哪些海外seo培训
  • 赤峰做网站开发最有效的线上推广方式
  • 长春建站方法关键词如何快速排名
  • 网站建设共享南宁seo专员
  • 微信怎样将网站的内容做百度网盘登录入口网页版
  • 如何通过html做网站免费网站推广网站短视频
  • 建设公司宣传网站如何写软文
  • 维修网站建设搜索广告是什么意思
  • 学做沪江网站要多久营销宣传方案
  • thinkphp 网站开发推广计划书怎么写
  • 室内家装设计海南seo
  • 网站设计与开发实验报告百度优化公司
  • 淘宝c2c模式湖南网站seo地址