#摩尔线程# 前两天面试遇到一个题,感觉很奇怪,至今都没想明白。给个数组,删除指定值的元素,返回删除后的数组,条件是不能开辟新的数组,也就是空间复杂度0。当时比较紧张,在"指定值元素以后的元素向前覆盖"这条路上死磕,最后不知道怎么返回子数组,java c的数组都是定长的。子数组肯定要搞新数组(违反题意),给我的函数声明是java版的。现在想来,只有python这种自由的语言可以搞了(太久没用,语法忘光了,,)
全部评论
请问这个JAVA该怎么整,我看那些复制数组的copyof方法不需要自己新建,但它内部自己新建了,这种是不是也不行,感觉java没有这种不需要new新数组的😐
送花
回复
分享
int[] removeVar(int[] nums,int var){}
送花
回复
分享
秋招专场
官网直投
666
送花
回复
分享
应该是用双指针,类似于荷兰国旗问题,前后各一个指针,把指定的数都交换到后面,终止条件是两个指针相遇然后删除后指针以后的元素
送花
回复
分享
相关推荐
投递阿里巴巴等公司10个岗位
点赞 评论 收藏
转发