Data structures 将数组分块复制到另一个数组中

Data structures 将数组分块复制到另一个数组中,data-structures,dynamic-programming,array-algorithms,Data Structures,Dynamic Programming,Array Algorithms,我想设计一个算法,给定一个大小为n的数组,A作为输入,它输出它必须执行以下操作的次数,这是将A复制到大小为n的新数组S中的唯一方法: A上的复制方法:给定一个范围[A,b],其中1=

我想设计一个算法,给定一个大小为n的数组,A作为输入,它输出它必须执行以下操作的次数,这是将A复制到大小为n的新数组S中的唯一方法:

A上的复制方法:给定一个范围[A,b],其中1= 例如,设A=和S=初始值。为了将A复制到S,我们需要

  • x=4表示[a,b]=[1,4]:S=
  • 对于[a,b]=[2,2]:S=
  • x=59表示[a,b]=[3,3]:S=
  • 因此,算法将返回3,因为将A复制到S需要3次操作


    作为第一步,我考虑创建一个哈希表,其中键是a中不同的元素,对于每个键,值是该元素所在的索引列表。然后,将每个范围与其他范围的关系分为3种情况:i)嵌套ii)重叠和iii)不相交


    这是解决此问题的正确方法吗?

    上没有乳胶支架。你有问题要问吗?啊,好的,谢谢!是的,它是设计一个算法,以问题中描述的方式复制数组。告诉我们你想要什么和问问题不是一回事……只是编辑它,将我的问题+更多的上下文加入到我的方法中