我有以下数组:
a = [0, 1, 2, 3, 4, nil, nil]
我想在索引2中插入元素num
,以便生成的数组为:
a = [0, 1, num, 2, 3, 4, nil] # note the size hasn't changed
我意识到数组可能不是本练习中最合适的数据结构,但我认为这是一项要求。
我该怎么做?
我试图解决这个问题:
您将获得两个已排序的数组A和B,其中A在末尾有足够大的缓冲区来保存B.编写一个方法以按顺序将B合并到A中
到目前为止,这是我的代码:
def merge(a, b) # merge b -> a
pointer = 0 # on a
while !b.empty? do
case b.first <=> a[pointer]
when 0, 1 next
when -1
# insert element, shift array to the right
end
end
end
答案 0 :(得分:4)
这是你在找什么?
a.insert(2, num)
不确定您是否希望手动移动元素,但这应该为您完成所有工作。