【华为OD机试真题 python】最小循环子数组【2023 Q2 | 200分】

题目描述

【最小循环子数组】

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

输入描述

第一行输入数组中元素个数n,1 ≤n ≤ 100000
第二行输入数组的数字序列nums,以空格分割,0 ≤ nums[i]< 10

输出描述

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

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

9
1 2 1 1 2 1 1 2 1

输出

1 2 1

Python代码实现:

def getNext():
    nxt = [0] * n

    j = 1
    k = 0

    while j < n:
        if nums[j] == nums[k]:
            nxt[j] = 

猜你喜欢

转载自blog.csdn.net/xiao_pengjy/article/details/131547130