假设有一个数字列表 -存储在数组、队列、链表或任何支持列表数据结构的东西中(即数字序列很重要)。现在,假设我们想在将一个数字添加到现有列表后添加一个新对象(list.add())。但是, list.add() 接受原始列表并返回一个新列表,其中包含原始列表中的数字和新数字。函数 add() 不会以任何方式更改原始列表对象。
因此,要实现这种方式,我们在函数中复制原始列表,将新数字添加到其中,然后返回它。这需要 O(n) 时间。
那么有没有其他方法可以在比 O(n) 更短的时间内完成这项工作。
编辑 1:该元素将在最后添加。add() 返回的对象应该包含原始列表中的所有数字和新的数字。原始列表保持不变。
编辑 2:我认为,如果我们每次向列表中添加数字时不复制整个列表,这可能是可能的。在这方面有没有可能?