題目描述
給定一個由若干整數(shù)組成的數(shù)組nums,請檢查數(shù)組是否是由某個子數(shù)組重復循環(huán)拼接而成,請輸出這個最小的子數(shù)組。
輸入描述
第一行輸入數(shù)組中元素個數(shù)n,1 ≤?n ≤ 100000
第二行輸入數(shù)組的數(shù)字序列nums,以空格分割,0 ≤ nums[i]?< 10
輸出描述
輸出最小的子數(shù)組的數(shù)字序列,以空格分割;
備注
數(shù)組本身是其最大的子數(shù)組,循環(huán)1次可生成的自身;文章來源:http://www.zghlxwxcb.cn/news/detail-650521.html
用例
輸入 | 9 1 2 1 1 2 1 1 2 1 |
輸出 | 1 2 1 |
說明 | 數(shù)組[1,2,1,1,2,1,1,2,1] 可由子數(shù)組[1,2,1]重復循環(huán)3次拼接而成 |
題目解析
本題可以轉(zhuǎn)化為最小重復子串問題,利用KMP算法求解。文章來源地址http://www.zghlxwxcb.cn/news/detail-650521.html
到了這里,關(guān)于華為OD機試 - 最小循環(huán)子數(shù)組(Java & JS & Python)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!