本文主要是介绍关于原地 删除数组中的元素(算法题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、之前我查了一些网上的资料,没有多少是说了怎样才算原地删除,
首先数组名,就是数组的元素首地址,但是每个数组元素的地址都是递增的,这样删除元素后怎么才算是原地?
有很多方法,是使用双指针,快慢指针,(数组中下标等同于指针效果)。但是难免的都发生了元素移动。所以这里的感觉这个说法有点多余。,,(实际上只要说:原来的元素保持相同的顺序、并且在不需要创建新空间的情况下实现删除元素。这样两个实现出来的效果是一毛一样的,使用指针去挪动
而且不让使用新空间,这就已经给了方法了,只能数组内部通过赋值去实现这个效果,)
2、所以这个原地删除元素,(我感觉它就是说不使用额外的地址空间,只在本数组空间内部实现)
(也可能我的认知有错,,原地,在我的理解上就是地址空间不能变,如果通过赋值来删除(覆盖目标元素),那后面的元素地址一定是改变了的,这样还叫原地吗?)
3、希望有大佬解惑(感谢)。。。。。目前就先这样认为了。。不然这些题目出得挺让人无奈的。
这篇关于关于原地 删除数组中的元素(算法题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!