题目:

删除排序数组中的重复数字 II

跟进“删除重复数字”:

如果可以允许出现两次重复将如何处理?

样例

给出数组A =[1,1,1,2,2,3],你的函数应该返回长度5,此时A=[1,1,2,2,3]

解题:

在这里看到的

与上一题方法很类似,这里保存相同元素长度小于2的保存在原来的数组中

很巧妙

Java程序:

public class Solution {/*** @param A: a array of integers* @return : return an integer*/public int removeDuplicates(int[] nums) {// write your code hereint i = 0,j;int numsLen = nums.length;int cur=0;while(i<numsLen){for( j=i;j<numsLen;j++){if(nums[i]!=nums[j])break;if((j-i+1)<=2) // 只记录长度小于等于2 的下标对应的元素nums[cur++] = nums[i];}i = j;// 下一个不相同元素开始
        }return cur;}
}

View Code

总耗时: 2826 ms

Python程序:

class Solution:"""@param A: a list of integers@return an integer"""def removeDuplicates(self, A):# write your code herei = 0ALen = len(A)cur = 0k = 0while i<ALen:for j in range(i,ALen):if A[i]!=A[j]:k = jbreakif (j-i+1)<=2:A[cur] = A[i]cur = cur + 1i = k return cur

View Code

不知道为什么说下标越界,明明和java的一样的
错误结果如下:

30% 数据通过测试.

输入   [-8,0,1,2,3]

期望答案   [-8,0,1,2,3]

错误信息   Traceback (most recent call last): File "Main.py", line 8, in LEN = solution.removeDuplicates(nums) File "Solution.py", line 18, in removeDuplicates A[cur] = A[i] IndexError: list assignment index out of range EXITCODE=1

转载于:https://www.cnblogs.com/theskulls/p/4868466.html

lintcode :Remove Duplicates from Sorted Array II 删除排序数组中的重复数字 II相关推荐

  1. 删除排序数组中的重复数字 II · Remove Duplicates from Sorted Array II

    重复一次 [抄题]: 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度. 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成. [思维问题]: [ ...

  2. 删除排序数组中的重复数字 II

    题目连接 http://www.lintcode.com/zh-cn/problem/remove-duplicates-from-sorted-array-ii/ 题目大意 跟进"删除重复 ...

  3. vue删除数组中的一条数据_删除排序数组中的重复项 II

    删除排序数组中的重复项 II题目 给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改 ...

  4. 80. 删除排序数组中的重复项 II golang

    80. 删除排序数组中的重复项 II 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O ...

  5. Leecode刷题【1数组专题4】80. 删除排序数组中的重复项II (以及通用解法)

    Leecode刷题 [1数组专题4]80. 删除排序数组中的重复项II (以及通用解法) 题目: 思路 双指针法: (错误代码) 正解: 通用解法: 题目: 给你一个有序数组 nums ,请你 原地 ...

  6. LeetCode-80: 删除排序数组中的重复项 II

    题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完 ...

  7. 力扣删除排序数组中的重复项 II

    给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的 ...

  8. leetcode80. 删除排序数组中的重复项 II

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例  ...

  9. LeetCode 80. 删除排序数组中的重复项 II

    1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完 ...

最新文章

  1. 转:小结datatable的使用
  2. mknod创建设备(加载新的设备驱动时候,通常会用到此命令)
  3. 求助啊,被STM32的CAN折磨的疯了
  4. leetcode-15-三数之和
  5. 一文了解Linux 网络 I/O 模型
  6. 包和模块_月隐学python第13课
  7. CSDN中巧用< >符号显示
  8. 手机抓包 fiddler 配置
  9. 重归理性 国内SOA平台期待价值提升
  10. 【010】Excel宏编程相关封装模块(字体设置、写入表格内容)_003_#VBA
  11. Linux磁盘配额教程,磁盘配额设置及使用
  12. 产品经理 | 职业选择及面试技巧
  13. python pandas read_excel 参数详解 to_excel 读写Excel
  14. Hi3519V101移植SDL+FreeType+SDL_ttf
  15. 订单超时自动取消3种方案——我们用这种!
  16. 使用gulp编译 sass和less
  17. 儿童手表运动轨迹和路径追踪_如何将智能手表或健身追踪器用作静音闹钟
  18. iOS密码管理Keychain的使用
  19. 阿尔法围棋是人工智能吗,围棋智能机器人阿法狗
  20. 计算机组成与嵌入式系统 百度云,计算机组成及嵌入式系统.pdf

热门文章

  1. 内存Cookie和硬盘Cookie
  2. spark on yarn提交后vcore数不对
  3. 实验三 编程、编译、连接、跟踪
  4. 牛客网 2018年全国多校算法寒假训练营练习比赛(第三场)D.小牛vs小客-博弈
  5. Xml解析之PULL解析 例1
  6. [转]汇编语言的准备知识--给初次接触汇编者 2
  7. 【转载】在对话框中加入属性页
  8. android Intent onNewIntent 什么时候调用
  9. Android Scroller 使用详解
  10. php正则表达式判断url,判断url的正则表达式