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

【每日一题Day159】LC1638统计只差一个字符的子串数目 | 枚举

统计只差一个字符的子串数目【LC1638】

给你两个字符串 st ,请你找出 s 中的非空子串的数目,这些子串满足替换 一个不同字符 以后,是 t 串的子串。换言之,请你找到 st 串中 恰好 只有一个字符不同的子字符串对的数目。

比方说, "computer" and "computation" 只有一个字符不同: 'e'/'a' ,所以这一对子字符串会给答案加 1 。

请你返回满足上述条件的不同子字符串对数目。

一个 子字符串 是一个字符串中连续的字符。

  • 思路:枚举

    字符串长度最大为100,因此可以枚举s和t每对长度相同的子字符串,记录字符串中不同字符的数目,如果为1,那么答案加1

  • 实现

    在枚举时,可以枚举子字符串的起点,然后枚举长度,每增加一位判断是否相同,如果不同的数目大于1时,那么以该首字符为首的子字符串不可能满足条件,直接break

    class Solution {public int countSubstrings(String s, String t) {int m = s.length(), n = t.length();int res = 0;for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){int diff = 0;for (int len = 0; i + len < m && j + len < n; len++){if (s.charAt(i + len) != t.charAt(j + len)){diff++;}if (diff == 1){res++;}else if (diff > 1){break;}}}   }return res;}
    }
    
    • 复杂度
      • 时间复杂度:O(m∗n∗len)O(m*n*len)O(mnlen)
      • 空间复杂度:O(1)O(1)O(1)
http://www.lryc.cn/news/45330.html

相关文章:

  • 【07 Metadata and VendorTag】
  • Golang中Model的使用
  • 交友项目【基础环境搭建】
  • 入职时,公司要求自己带电脑,每月给100元补贴,如果不接受就不能入职!
  • 20道经典Redis面试题
  • 十分钟带你看懂接口测试,2023最全超大型接口测试攻略
  • 【设计模式】创建型-单例模式
  • Python 练习 六
  • 「SQL面试题库」 No_22 员工奖金
  • 瞒不住了,Prefetch 就是一个大谎言
  • 这个时候了,你还不会不知道JavaMail API吧
  • JavaScript var let区别
  • Thinkphp 6.0容器和依赖注入
  • Type javax.servlet.http.HttpServletRequest not present
  • 一键配置Ubuntu的OpenHarmony基础编译环境
  • ASP网络求职招聘系统的设计与实现
  • 面试—C++《智能指针》常考点
  • 自动化测试方案编写思路
  • 【爬虫】案例04:某小说网多线程小说下载
  • 海外独立站创业,Shopify网站如何引流
  • 基于51单片机的室内湿度加湿温度声光报警智能自动控制装置设计
  • 解决:github爆 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  • 【django开发手册】如何使用select_related进行一次连表查询
  • 二、MySQL 基础
  • 项目中常用写法(前端)
  • 【面试】Java并发编程面试题
  • HAProxy和Nginx搭建负载均衡器
  • 【集大成篇】数据类型( C、C++、Java )对比
  • python编程:从键盘输入一个正整数n(n>2),请编程求解并输出大小最接近n的素数(n本身除外)
  • spring的面试宝典