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

国外家装设计网站如何做软件开发

国外家装设计网站,如何做软件开发,微信 网站界面 模板,传奇是网页游戏吗题目链接#xff1a;https://leetcode.cn/problems/replace-the-substring-for-balanced-string/description/ 思路 题目意思 这题意思是一个只含有[Q, W, E, R] 四个字符的字符串s且长度一定是 4的倍数#xff0c; 需要你通过替换子串#xff0c;使他变成一个「平衡字符… 题目链接https://leetcode.cn/problems/replace-the-substring-for-balanced-string/description/ 思路 题目意思 这题意思是一个只含有[Q, W, E, R] 四个字符的字符串s且长度一定是 4的倍数 需要你通过替换子串使他变成一个「平衡字符串」也就是字符串s内四个字符的数量都相等。 首先要仔细审题我刚开始是以为计算需要替换的字符的数量秒wa仔细阅读发现是替换连续子串需要找到一个最小长度的替换连续子串第一反应就是滑动窗口或者双指针。 算法小课堂 滑动窗口滑动窗口是双指针的一种特例可以称为左右指针在任意时刻只有一个指针运动而另一个保持静止。滑动窗口路一般用于解决特定的序列中符合条件的连续的子序列的问题。 滑动窗口的时间复杂度是线性的时间复杂度一般为O(n)滑动窗口的左右边界都不会向左滑动向左滑动等于走回头路是一种回溯的算法很可能会陷入死循环。滑动窗口是一种全遍历问题一定会遍历到末尾的。 方法滑动窗口 哈希表 刚开始我们用哈希表统计出四个字符的数量我们需要满足「平衡字符串」所以定义一个 check函数 判断四个字符数量小于等于 n / 4。 如果原始的 s 就是 「平衡字符串」则返回 0。如果不是接下来就是用滑动窗口来遍历字符串找到待替换子串来维护区间 [l,r) : 当前 l 指针不动 通过内循环移动 r 指针循环条件 r 指针需小于字符串s长度并且check函数满足直到找到待替换子串。如果找到了使得条件被满足的 r我们用 r−l 来更新答案 ans当前 r 指针不动并使得 l向右移动一个单位进行下一次枚举通过外循环移动 l 指针 循环条件 l 指针需小于字符串s长度使当前代替换子串合法并且最小。直到 r 指针移动到大于等于字符串s长度的位置且check函数不满足退出循环。 代码示例 func balancedString(s string) int {n : len(s)mp : make(map[byte]int)for _, v : range s {mp[byte(v)]}// 判断当前字符串是否是平衡字符串check : func() bool {if mp[Q] n / 4 || mp[W] n / 4 ||mp[E] n / 4 || mp[R] n / 4 {return false}return true}if check() {return 0}r, ans : 0, len(s)// 滑动窗口for l, c : range s {for r n !check() {mp[s[r]]--r}// 如果上面循环是 r n 条件退出// 表示现在的连续子串是不满足替换条件的可以直接退出避免影响正确答案if !check() {break}ans min(ans, r - l)mp[byte(c)]}return ans }func min(a, b int) int {if a b {return b}return a }复杂度分析 时间复杂度O(n)其中n表示字符串s的长度记录四个字符的数量需要遍历字符串s所需时间为O(n)滑动窗口时间是线性的所以所需时间也为O(n)。空间复杂度O(1)不需要额外申请空间。
http://www.w-s-a.com/news/5908/

相关文章:

  • 凡科建站登录官网当当网网站建设策划书
  • 网站百度屏蔽关键词杭州排名优化公司
  • h5响应式网站模板下载wordpress鼠标指针
  • 摄影作品投稿网站目前最好的引流推广方法
  • 资源站源码永久dede网站搬家 空间转移的方法
  • 网站建设销售的技巧话语it培训机构
  • 自建本地网站服务器wordpress南充房产网最新楼盘最近房价
  • 郑州代做网站天津哪里能做网站
  • 网站如何做排名网站建设项目的工作分解
  • 洛阳网络建站公司网站开发主流语言
  • 广州各区正在进一步优化以下措施seo值是什么意思
  • 滨州建网站公司京东云 wordpress
  • 网站视频背景怎么做免费的网络推广有哪些
  • 申请网站怎样申请广西壮族自治区专升本业务系统
  • 写作网站哪个网站做ic外单好
  • 苏州和城乡建设局网站撸撸撸做最好的导航网站
  • 网站被同行抄袭怎么办深圳中装建设集团
  • 建站及推广瓦房店 网站建设
  • 怎么查网站是在哪里备案的广州电力建设有限公司网站
  • 做网站自己申请域名还是对方wordpress管理地址
  • 专门做二手书网站或appwordpress首页显示特定分类文章
  • 无锡网站设计厂家一建十个专业含金量排名
  • 网站刷链接怎么做成都高度网站技术建设公司
  • flash网站模板怎么用xml网站地图生成
  • 英文网站优化群晖wordpress中文
  • saas建站平台源码济南品牌网站建设公司
  • 网站建设一般是用哪个软件网站百度
  • 企业建站的作用是什么南宁公司网站开发
  • 厦门网站建设及维护门户网站开发视频教学
  • 可以做兼职的网站有哪些自动点击器永久免费版