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

一键生成作文的网站百度网站推广怎么做

一键生成作文的网站,百度网站推广怎么做,短视频seo公司,阿里云搭建wordpress探寻字符串里长度为 3 的无重复字符子字符串 题目描述 给定一个字符串 s,需要找出其中所有长度为 3 的 “好子字符串”,也就是不含有任何重复字符的连续子字符串,并统计其数量。需要注意的是,即便相同的好子字符串多次出现&…

探寻字符串里长度为 3 的无重复字符子字符串

题目描述

给定一个字符串 s,需要找出其中所有长度为 3 的 “好子字符串”,也就是不含有任何重复字符的连续子字符串,并统计其数量。需要注意的是,即便相同的好子字符串多次出现,每次都要计入结果。

解题思路剖析

核心思路

  • 直接遍历法:对字符串进行遍历,从每个位置开始截取长度为 3 的子字符串,接着检查这三个字符是否互不相同。
  • 字符对比:由于子字符串长度固定为 3,只需比较这三个字符两两是否不同即可,无需使用额外的数据结构。

关键步骤

  1. 边界情况处理:若字符串长度小于 3,直接返回 0,因为不存在符合条件的子字符串。
  2. 遍历字符串:借助循环从每个可能的起始位置提取长度为 3 的子字符串。
  3. 字符唯一性验证:检查三个字符是否满足 a != b && a != c && b != c 的条件。

代码实现

class Solution {public int countGoodSubstrings(String s) {int n = s.length();if (n < 3) return 0;int count = 0;for (int i = 0; i <= n - 3; i++) {char a = s.charAt(i);char b = s.charAt(i + 1);char c = s.charAt(i + 2);if (a != b && a != c && b != c) {count++;}}return count;}
}

代码详细解读

  1. 输入长度判断

    int n = s.length();
    if (n < 3) return 0;
    
    • 先获取字符串 s 的长度 n
    • 若字符串长度不足 3,直接返回 0,因为无法构成符合要求的子字符串。
  2. 初始化计数器

    int count = 0;
    
    • 定义变量 count 来记录符合条件的子字符串数量,初始值设为 0。
  3. 遍历并提取子字符串

    for (int i = 0; i <= n - 3; i++) {char a = s.charAt(i);char b = s.charAt(i + 1);char c = s.charAt(i + 2);
    
    • 循环从索引 0 开始,到 n - 3 结束,这样能保证每次都能提取到长度为 3 的子字符串。
    • 通过 charAt 方法分别获取当前子字符串的三个字符 abc
  4. 字符唯一性检查

    if (a != b && a != c && b != c) {count++;
    }
    
    • 当这三个字符两两都不相等时,说明该子字符串是 “好子字符串”,此时将计数器 count 加 1。
  5. 返回结果

    return count;
    
    • 循环结束后,返回统计得到的符合条件的子字符串数量。

复杂度分析

  • 时间复杂度O(n),其中 n 是字符串 s 的长度。
    • 只需对字符串进行一次遍历,每个字符的处理操作都是常数时间。
  • 空间复杂度O(1)
    • 除了几个用于存储字符和计数器的变量外,没有使用额外的空间。

总结与优化

  1. 算法优势

    • 该算法无需复杂的逻辑,直接通过遍历和简单的字符比较来解决问题,代码简洁且容易理解。
    • 时间复杂度为线性级别,在处理大规模输入时也能保持较高效率。
  2. 扩展思考

    • 如果题目要求找出长度不固定的无重复字符子字符串,可以考虑使用滑动窗口算法。
    • 若字符集的范围较大(例如包含 Unicode 字符),可以改用哈希集合或字典来记录字符的出现情况。
  3. 注意事项

    • 要确保循环的边界条件正确,避免出现数组越界的错误。
    • 进行字符比较时,要保证所有可能的两两组合都被检查到。
http://www.dtcms.com/wzjs/307041.html

相关文章:

  • 爱做的小说网站吗长沙网络营销哪家平台专业
  • 建设o2o网站个人网站制作教程
  • 公司网站优化怎么做网站建设与管理主要学什么
  • 跨境电商数据在哪个官网查seo企业建站系统
  • 网站建设代码容易出错周口seo
  • sap.net网站开发今日国际新闻最新消息
  • 海外高延迟服务器做网站网站优化方法
  • 建设网站多少钱 郑州企业网络组网设计
  • 重庆工程招标网站有哪些链接制作软件
  • 怎么做写真网站模板网站好还是自助建站好
  • 苏州建设工程交易中心网站b2b平台有哪些网站
  • 微信公众平台号登录官网南宁白帽seo技术
  • 润东电子科技 网站建设列举常见的网络营销工具
  • 建站软件网站排名seo软件
  • 做塑胶材料的网站微信社群营销推广方案
  • 企业网络建设规划设计seo推广优化外包公司
  • cc域名网站今日头条最新消息
  • flash网站报价微指数查询入口
  • 目前提供目录类搜索引擎的网站对seo的理解
  • 珠海市网站建设开发公司百度网址提交
  • 首选大型网站建站公司百度查重入口
  • 钉钉网站建设服务协议seo发帖论坛
  • 音乐网站建设的目的宁波关键词网站排名
  • 页面排版布局aso优化是什么意思
  • 网站挂标 怎么做网页设计期末作业模板
  • 电商做网站什么意思seo优化的方法有哪些
  • ui培训机构设计百度seo优化网站
  • 南昌营销型网站建设站长工具seo综合查询权重
  • 泉州制作网站软件百度快速收录接口
  • 做网站设计的都转行干啥了网站备案查询官网