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

2023-11-07

描述

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

输入方式
第一行:数组里的数字数量,记作 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为OD机试 Python 【最小循环子数组】 的相关文章

随机推荐

  • QT中如何在主窗口中添加子窗口

    1 方法 原理其实很简单 和在窗口上动态 代码的形式 添加控件的方法一样 但需要设置一下子窗口的属性 在子窗口构造函数中添加代码 setWindowFlags Qt FramelessWindowHint 作用 隐藏子窗口的标题栏和边框 如
  • 统计各专业学生人数

    题目描述 学生表 专业表 SELECT dept name ifnull z studen cou 0 AS 人数 FROM SELECT dept id COUNT AS cou FROM z studen GROUP BY dept i
  • 一种设置python函数执行超时时间

    问题来源 写该文章的缘由是因为最近回答CSDN用户一个关于函数超时的问题 当时用户提问 最近想用python实现如下的一个功能 即设置函数的超时时间 当超过这个时间后函数退回到父函数而不会引发异常或导致整个程序结束 当时用户还贴出了另一篇文
  • Python 朴素贝叶斯(Naive Bayes)分类

    Na ve Bayes 分类的核心是计算条件概率P y x 其中y为类别 x为特征向量 其意义是在x样本出现时 它被划分为y类的可能性 概率 通过计算不同分类下的概率 进而把样本划分到概率最大的一类 根据条件概率的计算公式可以得到 P y
  • oracle_11 linux客户端安装说明以及如何添加sqlldr命令

    1 安装文件准备 oracle instantclient11 2 basic 11 2 0 2 0 x86 64 rpm oracle instantclient11 2 devel 11 2 0 2 0 x86 64 rpm oracl
  • Th4.2:类模板的概念、类模板的定义和使用之详述

    本小节回顾的知识点分别是类模板的概念 类模板的定义和使用 今天总结的知识分为以下4个点 1 概述 2 类模板定义 3 类模板的成员函数 4 非类型模板参数 1 概述 类模板 就是包含待指定数据类型的类 这个待指定的数据类型就是类模板的模板参
  • Centos7安装Python3的方法(亲测高效)

    Centos7下安装Python3的方法 由于centos7原本就安装了Python2 而且这个Python2不能被删除 因为有很多系统命令 比如yum都要用到 root VM 105 217 centos Python 3 6 2 pyt
  • css布局中关于 块状元素和行内元素的区分

    这两天在准备实习的面试和笔试 准备复习一下这些基础的概念 避免自己处于一种仅脑袋理解嘴巴不能表述出来的状态 块状元素和行内元素的概念是在css页面布局这个地方出现 主要是将html标签按照一定的特性分成2类 块状元素和行内元素 内联元素 首
  • 循环双向链表

    循环双向链表 1 简介 单链表 总是从头到尾找结点 难道就不可以正反遍历都可以吗 当然可以 只不过需要加点东西而已 有了 next 指针 这就使得我们要查找下 结点的时同复杂度为 1 可是如果我们要查找的是上一结点的话 那最坏的时间复杂度就
  • Linux:死锁与解决方法

    死锁 死锁 指在一组进程中的各个进程均占有不会释放的资源 但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态 死锁现象 现象1 如果执行流加锁完毕后 不进行解锁则会造成死锁 上篇所述 现象2 线程A获取了1锁 线程B获取了2
  • [Qt5.12.3] 使用Chart模块中warning: ‘setAxisX‘ is deprecated, warning: ‘setAxisY‘ is deprecated的解决办法

    文章目录 问题描述 解决方案 后记 问题描述 在使用QtCharts模块绘图的过程中 X轴需要显示DateTime 不能使用默认的createDefaultAxes 遂使用了setAxisX setAxisY方法 但一直报方法被弃用 虽暂时
  • Latex: 参考文献双栏对齐

    参考 How to level columns in bibliography Latex 参考文献双栏对齐 需要实现的效果 方法1 在开头引用balance usepackage balance 在文末 参考文献前 加上 balance
  • Stream使用技巧(1)------数据处理技巧

    Stream使用技巧 1 数据处理技巧 一 背景 作为java8新特性之一的Stream API为开发者带来了极大的便利 它可以对我们需要操作的集合进行非常复杂的操作 以活的我们想要的结果 本文不会告诉你什么是Stream 毕竟网上花里胡哨
  • 双口ram 简介及Verilog实现

    简介 RAM Random Access Memory 随机存储器 是一种用来暂时存储中间数据的存储器 掉电易失 按照类型可以分为单口ram 双口ram 其中双口ram又有简单 伪 的ram 真双端口ram 在异步FIFO的内部就是一个双端
  • Networdx小案例学习

    文章目录 图的类型 无向图小案例 有向图的小案例 参考资料 图的类型 无向图小案例 import networkx as nx import matplotlib pyplot as plt G nx DiGraph 0 1 1 2 2 3
  • couldn‘t find package required on the “npm“ registry

    切换npm源就行 nrm use taobao
  • 对Attention is all you need 的理解

    本文参考的原始论文地址 https arxiv org abs 1706 03762 谷歌昨天在arxiv发了一篇论文名字教Attention Is All You Need 提出了一个只基于attention的结构来处理序列模型相关的问题
  • 遗传算法与C++实现

    1 遗传算法 核心是达尔文优胜劣汰适者生存的进化理论的思想 一个种群 通过长时间的繁衍 种群的基因会向着更适应环境的趋势进化 适应性强的个体基因被保留 后代越来越多 适应能力低个体的基因被淘汰 后代越来越少 经过几代的繁衍进化 留下来的少数
  • c++ vector

    初始化 1 默认初始化 vector为空 size为0 表明容器中没有元素 而且 capacity 也返回 0 意味着还没有分配内存空间 这种初始化方式适用于元素个数未知 需要在程序中动态添加的情况 vector
  • 华为OD机试 Python 【最小循环子数组】

    描述 给定一个数字数组 看看这个数组能否由一个子数组不断重复形成的 请找出那个可能的最小子数组 输入方式 第一行 数组里的数字数量 记作 n 1 n 100000 第二行 数组的数字 用空格隔开 每个数字都在 0 到 9 之间 输出方式 打