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

建设网站需要设备大连巨人网络推广有限公司

建设网站需要设备,大连巨人网络推广有限公司,网页设计报告详细设计,外贸怎么用网站开发新客户AcWing《蓝桥杯集训每日一题》—— 3768. 字符串删减 文章目录AcWing《蓝桥杯集训每日一题》—— 3768. 字符串删减一、题目二、解题思路三、代码实现本次博客我是通过Notion软件写的#xff0c;转md文件可能不太美观#xff0c;大家可以去我的博客中查看#xff1a;北天的 …AcWing《蓝桥杯集训·每日一题》—— 3768. 字符串删减 文章目录AcWing《蓝桥杯集训·每日一题》—— 3768. 字符串删减一、题目二、解题思路三、代码实现本次博客我是通过Notion软件写的转md文件可能不太美观大家可以去我的博客中查看北天的 BLOG持续更新中另外这是我创建的编程学习小组频道想一起学习的朋友可以一起 一、题目 给定一个由 $n$ 个小写字母构成的字符串。 现在需要删掉其中的一些字母使得字符串中不存在连续三个或三个以上的 x。 请问最少需要删掉多少个字母 如果字符串本来就不存在连续的三个或三个以上 x则无需删掉任何字母。 输入格式 第一行包含整数 nnn。 第二行包含一个长度为 nnn 的由小写字母构成的字符串。 输出格式 输出最少需要删掉的字母个数。 数据范围 3≤n≤1003≤n≤1003≤n≤100 输入样例1 6 xxxiii 输出样例1 1 输入样例2 5 xxoxx 输出样例2 0 输入样例3 10 xxxxxxxxxx 输出样例3 8二、解题思路 这道题要解决的问题是找到最少需要删除的字符数量使得字符串中不存在连续三个或三个以上的 x。我们可以想到暴力枚举法和双指针法其中这里更推荐使用暴力枚举法因为很快也不会超时。下面我大致说一下两种方法的解题思路。 暴力枚举法 我们可以通过枚举所有长度为3的子串判断是否为 ‘xxx’从而找到需要删除的字符数量。具体实现方法是从下标2开始每次取出以该下标为结尾的长度为3的子串判断是否为 ‘xxx’如果是就需要删除中间那个字符即下标为i-1的字符。最后统计需要删除的字符数量即可。暴力枚举法的时间复杂度为 O(n)O(n)O(n)空间复杂度为 O(1)O(1)O(1)。 双指针法 我们可以通过维护两个指针 i 和 j其中 i 指向当前处理的字符j 指向最近一个不需要删除的字符。具体实现方法是遍历整个字符串如果当前字符为 ‘x’就将 cnt 加 1如果 cnt 等于 3说明需要删除当前字符即将 res 加 1如果 cnt 大于 3说明当前字符需要删除但是删除后会导致字符串中存在连续三个 ‘x’因此需要将 j 后移一位即将 j 赋值为 i-1同时将 cnt 减 1这样可以保证删除当前字符后字符串中不存在连续三个 ‘x’。如果当前字符不为 ‘x’则将 cnt 置为 0j 赋值为 i。最后统计需要删除的字符数量即可。时间复杂度为 O(n)O(n)O(n)空间复杂度为 O(1)O(1)O(1)。 总体而言双指针法的效率更高因为其只需要遍历一遍字符串而暴力枚举法需要枚举所有长度为 3 的子串效率相对较低。 三、代码实现 ‍ 暴力枚举法代码实现 n int(input()) st input() c 0 # 枚举所有长度为 3 的子串 for i in range(2, n):# 判断是否为 xxxif st[i - 2:i 1] xxx:# 如果是则需要删除中间那个字符即下标为 i-1 的字符c 1 # 输出需要删除的字符数量 print(c)双指针法代码实现 n int(input()) s input()res, cnt 0, 0 j -1 # 遍历整个字符串 for i in range(n):# 如果当前字符为 xif s[i] x:# 将 cnt 加 1cnt 1# 如果 cnt 等于 3说明需要删除当前字符if cnt 3:# 将 res 加 1res 1# 如果 cnt 大于 3说明当前字符需要删除# 但是删除后会导致字符串中存在连续三个 x# 因此需要将 j 后移一位即将 j 赋值为 i-1# 同时将 cnt 减 1这样可以保证删除当前字符后# 字符串中不存在连续三个 xelif cnt 3:res 1cnt - 1j 1else:# 如果当前字符不为 x将 cnt 置为 0j 赋值为 icnt 0j i# 输出需要删除的字符数量 print(res)
http://www.hkea.cn/news/14265084/

相关文章:

  • 中核工建设集团网站网站建设在360属于什么类目
  • 网站界面设计实训报告html网页模板下载html模板免费
  • 上海专业做网站价格如何建设微信网站
  • 备案期间的网站打开app线上推广是什么工作
  • 学校网站建设需要多少钱中小企业网站该怎么做
  • 手机网站和微信网站的区别wordpress 10万篇文章
  • 贵州城市和城乡建设官方网站哪里有创建网站的
  • 西安网站排名分析app我的页面设计
  • 网页制作制作网站wordpress 附件清理
  • 做陶瓷公司网站建工社官网
  • 烟台开发区建设局网站做家电网是什么网站
  • 模板网站源码烟台网站建设技术托管
  • 网站开发公司安心加盟wordpress登陆ip唯一
  • 门户类网站费用怎样做自己的视频网站
  • 外国网站的浏览器下载整站优化外包服务
  • 做网站服务器配置应该怎么选岳阳建站公司
  • 淘客那些网站怎么做的郑州网站开发公司电话
  • php网站开发流程逻辑西安网站seo分析
  • 南昌网站建设制作与维护阿里云wordpress外网访问不了
  • 商城类网站建设报价一般app开发费用
  • 做网站建设的公司有哪些wordpress it
  • 网站关键词排名外包房产网站案例
  • 网站如何更换图片做一个网页难不难
  • 网站开发中 视频播放卡官方网站开发用什么语言
  • 做网站熊掌号唐山滦县网站建设
  • 中国建设银行网站用户名重庆网站建设公司怎么做
  • 网站建设工作计划表网站访问频率
  • 做网站 如何 挣钱网站建设 还有需求吗
  • 上海网络做网站公司php网站开发自学
  • 网站空间分销搜索引擎技术包括哪些