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

磐石网站建设网站备案登陆

磐石网站建设,网站备案登陆,编程常用代码大全,wordpress 仿主题给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc" ,所以其长度为 3。 示例 2: 输入: s "bbbbb" 输出: 1 解释: 因…

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度

示例 1:
输入: 
s = "abcabcbb"
输出: 

解释: 因为无重复字符的最长子串是 "abc"
,所以其长度为 3。
示例 2:
输入: 
s = "bbbbb"
输出: 
1
解释: 因为无重复字符的最长子串是 "b"
,所以其长度为 1。
示例 3:
输入: 
s = "pwwkew"
输出: 
3
解释: 因为无重复字符的最长子串是 "wke"
,所以其长度为 3。
     请注意,你的答案必须是 
子串 的长度,"pwke" 是一个子序列,
不是子串。

解题思路:

  1. 初始化变量:使用一个哈希表(或数组)来记录每个字符最近出现的位置。定义两个指针,left 和 right,分别表示当前窗口的左右边界。初始时,left 和 right 都指向字符串的开始。

  2. 滑动窗口:移动 right 指针,扩展窗口的右边界。对于每一个新字符,检查它是否已经在当前窗口中出现过(即其最近出现位置是否在 left 的右侧)。

  3. 调整左边界:如果字符已经在窗口中存在,则将 left 指针移动到该字符上次出现位置的下一个位置,以确保窗口内没有重复字符。

  4. 更新最大长度:在每次移动 right 指针后,计算当前窗口的长度(right - left + 1),并更新最大长度记录。

// 函数:计算字符串中不含重复字符的最长子串的长度
int lengthOfLongestSubstring(char * s) {int n = strlen(s); // 获取字符串的长度if (n == 0) return 0; // 如果字符串为空,直接返回0int lastIndex[256]; // 创建一个数组,用于记录每个字符最后出现的位置,ASCII字符共有256个memset(lastIndex, -1, sizeof(lastIndex)); // 初始化数组,将所有位置设为-1,表示字符未出现过int maxLen = 0; // 用于记录最长子串的长度int left = 0; // 滑动窗口的左边界for (int right = 0; right < n; right++) { // 遍历字符串,right是滑动窗口的右边界char currentChar = s[right]; // 当前字符if (lastIndex[currentChar] >= left) { // 如果当前字符在窗口内已经出现过left = lastIndex[currentChar] + 1; // 移动左边界到该字符上次出现位置的下一位}lastIndex[currentChar] = right; // 更新当前字符的最后出现位置int currentLen = right - left + 1; // 计算当前窗口的长度if (currentLen > maxLen) { // 如果当前窗口长度大于已知的最大长度maxLen = currentLen; // 更新最大长度}}return maxLen; // 返回最长子串的长度
}

实验小结:

        本次实验通过实现滑动窗口算法,解决了寻找字符串中不含重复字符的最长子串长度的问题。实验过程中,首先明确了滑动窗口的基本思想,即通过动态调整窗口的左右边界来确保窗口内字符的唯一性。具体实现时,利用哈希表记录字符的最后出现位置,从而高效地判断重复字符并调整窗口边界。通过测试用例验证,算法能够正确处理不同场景,如连续重复字符、无重复字符等情况,确保了结果的准确性和高效性。实验加深了对滑动窗口技术的理解,并掌握了如何利用哈希表优化字符串处理问题。最终,算法的时间复杂度为O(n),空间复杂度为O(1)(固定大小的字符集),满足高效处理的要求。

http://www.dtcms.com/wzjs/836535.html

相关文章:

  • 洛阳便宜网站建设价格亚马逊的网站建设
  • 巨鹿网站建设网络公司wordpress nocower-metro
  • 南宁学做网站广州网站设计易企建站
  • 网站分享功能怎么做wordpress添加主题设置
  • 国税网站页面建设中海外seo托管
  • 体育健身网站建设怎样提高网站访问速度
  • 网站发布的方法有几种网站更新seo
  • 阿里巴巴做国际网站要多少钱网站备案最快多久
  • wordpress网站无法打开网站排名突然下降解决
  • 用c 做网站设计系统的项目作业承德项目网
  • 网站免费正能量直接进入小说今天重大新闻文字
  • 网站不用域名需要备案吗陕西省交通建设集团公司招聘网站
  • 做一个网站成本要多少钱wordpress站群版
  • 国内做的比较好的数据网站wordpress 采集 发布
  • 合肥制作手机网站天津网页
  • 网站备案不能访问putty搭建wordpress
  • 广州番禺网站公司哪家好wordpress svn
  • ai网站大全网站经营性备案多少钱
  • 做网站时可以切换语言的手机app制作入门教程
  • 玉林市城市建设投资有限公司网站阿里云虚拟主机网站建设
  • 太原网站推广公司网站开发技术文档 范本
  • 沈阳教做网站wordpress添加html页面
  • 企业网站怎么做推广服装租赁 网站 php
  • 石家庄百度推广家庄网站建设定制开发小程序价格
  • 如何选择大连网站建设免费做外贸的网站平台有哪些
  • 域名关联网站甘肃网站备案审核时间
  • php5 mysql网站开发基础与应用天元建设集团有限公司北京分公司
  • 网站建设 主机托管jsp 网站开发例子
  • 重庆有专业做网站的吗楚雄网站建设公司
  • 网站推广的短视频推广自定义wordpress导航图标