华为OD机试 Python 【最小循环子数组】

描述

给定一个数字数组,看看这个数组能否由一个子数组不断重复形成的。请找出那个可能的最小子数组。

输入方式
第一行:数组里的数字数量,记作 n(1 ≤ n ≤ 100000)。
第二行:数组的数字,用空格隔开。每个数字都在 0 到 9 之间。
输出方式
打印出那个最小子数组,数字间以空格隔开。

需要知道的
数组本身也算是一个子数组,因为它重复一次就是自己。

例子
输入
9
1 2 1 1 2 1 1 2 1

输出
1 2 1

代码

def generate_next(sub):
    length = len(sub)
    nxt = [0

你可能感兴趣的:(华为od,python,算法,华为机试)