题目:

删除元素

给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。

元素的顺序可以改变,并且对新的数组不会有影响。

 样例

给出一个数组 [0,4,4,0,0,2,4,4],和值 4

返回 4 并且4个元素的新数组为[0,0,0,2]

解题:

Java程序:

public class Solution {
/**
*@param A: A list of integers
*@param elem: An integer
*@return: The new length after remove
*/
public int removeElement(int[] A, int elem) {
// write your code here
int count = A.length;
// for(int i=0;i<count;i++)
int i=0;
while(i<count){
if(A[i]==elem){ for(int j=i;j<count-1;j++)
A[j] = A[j+1];
count--;
}else
i++;
}
return count;
}
}

总耗时: 1782 ms

这样竟然也可以通过,这里时间复杂度是O(n2),同时你会发现,只是把数组移位了,没有真正的删除,但是这里的测试结果是输出正确情况下的长度。。。。
还有个问题就是,测试用例太少了。。。。

官当答案也是这样搞的。。。

Python程序:

class Solution:
"""
@param A: A list of integers
@param elem: An integer
@return: The new length after remove
"""
def removeElement(self, A, elem):
# write your code here
i = 0
ALen = len(A)
while i<ALen:
if A[i]==elem:
ALen-=1
del A[i]
else:
i+=1
return ALen

总耗时: 286 ms

Python list 可以直接删除指定index下标的元素

最新文章

  1. 初学者看过来之JSON入门
  2. 实时监控log文件
  3. json-jsonConfig使用
  4. Java类加载器总结
  5. Swift - 简单封装一个工具类模板
  6. Maya 脚本控制物体自转
  7. Delphi 调用系统中的计算器、记事本、画图软件方法
  8. 二维数组在text,image的应用
  9. JAVA学习 分析Servlet
  10. Asp.NET路由管道处理过程 【重要】
  11. MYSQL数据库45道练习题
  12. 2018-02-03-jekyll框架下的post如何显示图片
  13. Java_监听文件夹或者文件是否有变动
  14. Windows上使用Vagrant打造Laravel Homestead可协同跨平台开发环境
  15. vue mandmobile ui实现三列列表的方法
  16. [转帖]UEFI和BIOS
  17. bzoj3672/luogu2305 购票 (运用点分治思想的树上cdq分治+斜率优化dp)
  18. WPF装饰元素
  19. npm与gulp的使用
  20. 自动化测试===adb 解锁手机的思路

热门文章

  1. 一款仿PBA官网首页jQuery焦点图的切换特效
  2. 前端自动化构建工具——gulp
  3. Cassandra1.2文档学习解读计划——为自己鼓劲
  4. php中url传递中文字符,特殊危险字符的解决方法
  5. 正则PerlRegEx实现的批量替换指定文件中的标签
  6. GridView中的荧光棒效果
  7. Oracle中的注释
  8. MySQL 通过mysql_config_editor更安全的登录数据库
  9. Spark Standalone运行过程
  10. 从零开始学ios开发(六):IOS控件(3),Segmented Control、Switch