Arrays 如何降低此代码的时间复杂性
arr1是一个有3个元素的数组,第一个是arr2中的元素数,第二个是旋转数,第三个是输入数。我想按用户从给定的输入索引打印arry2的元素。第二个输入数组是包含数组元素的输入数组Arrays 如何降低此代码的时间复杂性,arrays,ruby,time-complexity,Arrays,Ruby,Time Complexity,arr1是一个有3个元素的数组,第一个是arr2中的元素数,第二个是旋转数,第三个是输入数。我想按用户从给定的输入索引打印arry2的元素。第二个输入数组是包含数组元素的输入数组 arr1 =gets.strip.split(' ').map(&:to_i) arr2 = gets.strip.split(' ').map(&:to_i) q=arr1[2] count= arr1[1] count.times do arr2=arr2.reverse.rotate.re
arr1 =gets.strip.split(' ').map(&:to_i)
arr2 = gets.strip.split(' ').map(&:to_i)
q=arr1[2]
count= arr1[1]
count.times do
arr2=arr2.reverse.rotate.reverse
end
for i in 0..q-1 do
i = gets.strip.to_i
puts "#{arr2[i]}\n"
end
接受一个参数,该参数是要旋转的元素数。这个数字可以是负数,以便向另一个方向旋转,因此
count.times do
arr2=arr2.reverse.rotate.reverse
end
它在每次迭代中复制数组3次,可以替换为
arr2 = arr2.rotate(-count)
您能否为
arr1
和arr2
添加一个示例以及预期的输出?叙述内容几乎不可读。如果我知道它应该说什么,我会把它修好,但恐怕我不知道。请你把问题编辑清楚,注意标点、拼写等?我知道你不是以英语为母语的人,这没关系,但我希望你能说得更清楚。