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

如何让自己做的网页有网站国内ui设计培训

如何让自己做的网页有网站,国内ui设计培训,APP编辑WordPress,完整的网站开发文章目录 1. 题目链接2. 题目描述3. 题目示例4. 解题思路5. 题解代码6. 复杂度分析 1. 题目链接 76. 最小覆盖子串 - 力扣(LeetCode) 2. 题目描述 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字…

文章目录

      • 1. 题目链接
      • 2. 题目描述
      • 3. 题目示例
      • 4. 解题思路
      • 5. 题解代码
      • 6. 复杂度分析

1. 题目链接


76. 最小覆盖子串 - 力扣(LeetCode)


2. 题目描述


给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 ""

注意:

  • 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。
  • 如果 s 中存在这样的子串,我们保证它是唯一的答案。

3. 题目示例


示例 1 :

输入:s = "ADOBECODEBANC", t = "ABC"
输出:"BANC"
解释:最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。

示例 2 :

输入:s = "a", t = "a"
输出:"a"
解释:整个字符串 s 是最小覆盖子串。

4. 解题思路


  1. 问题理解
    • 给定一个字符串 S 和一个字符串 t,需要在 S 中找到包含 t 所有字符的最短子串。
    • 子串必须包含 t 的所有字符,且字符的出现次数不少于 t 中的出现次数。
  2. 关键思路
    • 滑动窗口:使用双指针(leftright)维护一个窗口,通过移动指针动态调整窗口大小。
    • 哈希表统计:使用数组 cntScntT 分别统计窗口内字符和 t 中字符的出现次数。
    • 窗口有效性检查:通过 isCovered 方法检查当前窗口是否满足条件。
  3. 算法流程
    • 初始化 cntT 数组,统计 t 中字符的出现次数。
    • 使用双指针 leftright 遍历 S
      • right 右移,扩展窗口,更新 cntS
      • 当窗口满足条件时,尝试收缩 left 指针,寻找更小的窗口。
      • 记录最小窗口的左右边界。
    • 返回最小窗口对应的子串。

5. 题解代码


class Solution {public String minWindow(String S, String t) {char[] s = S.toCharArray(); // 将字符串S转为字符数组int m = s.length; // 字符串S的长度int ansLeft = -1; // 记录最小窗口的左边界,初始为-1表示未找到int ansRight = m; // 记录最小窗口的右边界,初始为m(字符串长度)// cntS数组记录当前窗口内各字符的出现次数int[] cntS = new int[128]; // ASCII码范围0-127// cntT数组记录字符串t中各字符的出现次数int[] cntT = new int[128];// 初始化cntT数组for (char c : t.toCharArray()) {cntT[c]++;}int left = 0; // 滑动窗口的左指针for (int right = 0; right < m; right++) { // 滑动窗口的右指针cntS[s[right]]++; // 将右指针指向的字符加入窗口// 检查当前窗口是否包含t的所有字符while (isCovered(cntS, cntT)) { // 如果当前窗口比之前记录的最小窗口更小if (right - left < ansRight - ansLeft) { ansLeft = left; // 更新最小窗口的左边界ansRight = right; // 更新最小窗口的右边界}cntS[s[left]]--; // 将左指针指向的字符移出窗口left++; // 左指针右移}}// 如果找到了符合条件的窗口,返回对应的子串;否则返回空字符串return ansLeft < 0 ? "" : S.substring(ansLeft, ansRight + 1);}// 检查cntS是否包含cntT的所有字符(即cntS中各字符的数量都不小于cntT)private boolean isCovered(int[] cntS, int[] cntT) {// 检查大写字母for (int i = 'A'; i <= 'Z'; i++) {if (cntS[i] < cntT[i]) {return false;}}// 检查小写字母for (int i = 'a'; i <= 'z'; i++) {if (cntS[i] < cntT[i]) {return false;}}return true;}
}

6. 复杂度分析


  1. 时间复杂度
    • 遍历 S 的时间复杂度为 O(m),其中 mS 的长度。
    • isCovered 方法的时间复杂度为 O(1)(因为字符集大小固定为52个字母)。
    • 总体时间复杂度为 O(m)。
  2. 空间复杂度
    • cntScntT 数组的大小为 O(128) = O(1)。
    • 其他变量占用常数空间。
    • 总体空间复杂度为 O(1)。

文章转载自:

http://SKGnEDVU.rwxnn.cn
http://uNV1CzL0.rwxnn.cn
http://A7QtjH1x.rwxnn.cn
http://XC4ULRYc.rwxnn.cn
http://fDtijEMm.rwxnn.cn
http://TbAL3o2s.rwxnn.cn
http://bH9UAqiT.rwxnn.cn
http://x5LC64y1.rwxnn.cn
http://OzD2qHdn.rwxnn.cn
http://UbfvKRFh.rwxnn.cn
http://W6Zjzklq.rwxnn.cn
http://rSa2YJz7.rwxnn.cn
http://sZPtzt1u.rwxnn.cn
http://7NSZVGhM.rwxnn.cn
http://lBgI6aH7.rwxnn.cn
http://gbltKgvm.rwxnn.cn
http://FUBHT1Kg.rwxnn.cn
http://m6wkc9yF.rwxnn.cn
http://8PefLrjp.rwxnn.cn
http://ptv7vHUG.rwxnn.cn
http://SHrxe1s5.rwxnn.cn
http://VXOE8FF0.rwxnn.cn
http://VQgaYuZx.rwxnn.cn
http://YqDNBpYM.rwxnn.cn
http://DTCFcGwk.rwxnn.cn
http://na0JH08q.rwxnn.cn
http://vXld4oFR.rwxnn.cn
http://x5cdm4FM.rwxnn.cn
http://gfWH0jC9.rwxnn.cn
http://n0u50a50.rwxnn.cn
http://www.dtcms.com/wzjs/625290.html

相关文章:

  • 做百度企业网站有什么好处wordpress图片管理
  • 经验丰富的网站制作公司青岛栈桥门票多少钱一张
  • 哪个网站可以接工程做网站的相对路径
  • 企业产品微网站收费吗wordpress 表介绍
  • 网页和网站区别开一个淘宝店铺流程
  • 外贸公司网站如何免费推广市场营销专业就业方向
  • 网站设计如何做国际会议网站建设
  • 做电影网站的软件设计云网站
  • 网站建设需要做哪些工作wordpress4.8.3中文
  • 阿里巴巴网站建设要多少钱wordpress 恢复初始化
  • 电商网站开发设计文档wordpress图片本地化
  • 网站有情链接怎么做谷歌网页截图快捷键
  • 怎么做团购网站建设银行激活网站
  • 做网站都用什么软件网站建设 目标
  • 网络推广做哪个网站比较好怎么做网页代理
  • 网页设计与网站建设文档莱芜雪野湖风景区
  • 做网站哪家好 青岛免费下载中国移动app
  • 永修县建设局网站线下销售怎么做推广
  • 注册网站的免费网址网站编程好学吗
  • 程序员帮忙做放贷网站技术优化seo
  • 宁乡网站建设在哪做公司网站需要什么手续
  • 个体户可以网站备案吗撩人的网站怎么做
  • python做网站教程虹口区网站建设
  • 网站文案标准格式做h5的网站页面设计
  • iis5.1发布网站展览馆设计公司排名
  • 重庆网站制作企业临沂网
  • vs2008怎么做网站wordpress 国内模板
  • 网站建设改革情况汇报你有网站 我做房东 只收佣金的网站
  • 网站维护基础知识wordpress首页插件
  • 企业整站优化电子商城系统开发模块