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

光谷做网站推广哪家好手机营销软件

光谷做网站推广哪家好,手机营销软件,最新新闻热点事件100字,WordPress主题站题目描述给定一个由若干整数组成的数组nums,请检查数组是否是由某个子数组重复循环拼接而成,请输出这个最小的子数组。输入描述第一行输入数组中元素个数n,1 ≤ n ≤ 100000第二行输入数组的数字序列nums,以空格分割,0…

题目描述

给定一个由若干整数组成的数组nums,请检查数组是否是由某个子数组重复循环拼接而成,请输出这个最小的子数组。

输入描述

第一行输入数组中元素个数n,1 ≤ n ≤ 100000

第二行输入数组的数字序列nums,以空格分割,0 ≤ nums[i] < 10

输出描述

输出最小的子数组的数字序列,以空格分割;

备注

数组本身是其最大的子数组,循环1次可生成的自身;

用例1

输入

9
1 2 1 1 2 1 1 2 1

输出

1 2 1

说明

数组[1,2,1,1,2,1,1,2,1] 可由子数组[1,2,1]重复循环3次拼接而成

解答

# KMP 算法
# 如果字符串s是由最小重复子串x重复产生的,
# 则最小重复子串x的长度 = s.length - 最长相同前后缀.length# 输入获取
n=int(input())
nums=list(map(int,input().split()))def getNext():# 创建长度为n的next数组,初始值全为0nxt = [0] * n# 初始化指针:j遍历字符串,k跟踪当前匹配的前缀长度j = 1  # 从第二个字符开始遍历k = 0  # 当前匹配的前缀长度# 遍历整个数组(从索引1开始)while j < n:# 当前字符与前缀的下一个字符匹配J=nums[j] # 短匹配串元素K=nums[k] # 长主串元素if J == K:nxt[j] = k + 1  # 记录匹配长度j += 1  # 移动主指针k += 1  # 增加前缀长度,指针后移else:if k > 0: # 不是长主串的第一个元素# 利用已计算的next值回溯(KMP核心优化)k = nxt[k - 1]else:# 无法回溯时,当前字符的next值为0nxt[j] = 0j += 1return nxt  # 返回计算完成的next数组# 算法入口
def getResult():# KMP算法 求nxt数组nxt = getNext()# 最长相同前后缀长度m=nxt[n-1]# 最小重复子串的长度length=n-m if n%(n-m)==0 else nreturn " ".join(map(str,nums[0:length]))# 算法调用
print(getResult())
http://www.dtcms.com/wzjs/494497.html

相关文章:

  • 美女做暧暧视频网站搜索关键词排行榜
  • wordpress 七牛 水印银川seo优化
  • 厦门做网站最好的公司最新推广赚钱的app
  • 网站优化内容沈阳专业seo排名优化公司
  • 网络营销网站建设实训seo学校培训班
  • 政府机关asp免费网站源码人力资源培训网
  • 汕头网站建设科技有限公司流量平台有哪些
  • wordpress调取指定分类下的文章关键词优化推广公司排名
  • 郑州网站zhi zuo2345网址导航主页
  • 网站模板怎样使用昆明关键词优化
  • 免费网站建设合同范本济南seo排名搜索
  • 建设的网站太卡百度快速收录教程
  • 俄乌今天最新军事动态河南整站关键词排名优化软件
  • 做网站被忽悠算诈骗吗微信推广平台收费标准
  • 网校网站模板昆明seo关键词
  • 微信官方版官方网站河南做网站优化
  • 自己做的网站360显示过期社交媒体营销策略有哪些
  • 网站外链软件怎么建立网站卖东西
  • 做推广要知道的网站网络广告策划案例
  • 网站正在建设完善中重庆seo技术分享
  • 常州建站优化网络营销推广优化
  • 顺的网站建设精英seo基础入门教程
  • 针对茅台酒企业网站建设方案百度首页排名优化公司
  • 网站建设应该注意哪些问题推广平台排名前十名
  • wordpress html5 视频seoul是哪个城市
  • 做自媒体需要哪些网站免费域名申请
  • 一流的购物网站建设sem培训
  • 网站建设需要身份证吗seo手机关键词排行推广
  • 淘宝上买的网站模板怎么建设网站合肥seo公司
  • 上海移动端网站建设服务营销理论