lintcode :Remove Duplicates from Sorted Array II 删除排序数组中的重复数字 II
题目:
删除排序数组中的重复数字 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相关推荐
- 删除排序数组中的重复数字 II · Remove Duplicates from Sorted Array II
重复一次 [抄题]: 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度. 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成. [思维问题]: [ ...
- 删除排序数组中的重复数字 II
题目连接 http://www.lintcode.com/zh-cn/problem/remove-duplicates-from-sorted-array-ii/ 题目大意 跟进"删除重复 ...
- vue删除数组中的一条数据_删除排序数组中的重复项 II
删除排序数组中的重复项 II题目 给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改 ...
- 80. 删除排序数组中的重复项 II golang
80. 删除排序数组中的重复项 II 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O ...
- Leecode刷题【1数组专题4】80. 删除排序数组中的重复项II (以及通用解法)
Leecode刷题 [1数组专题4]80. 删除排序数组中的重复项II (以及通用解法) 题目: 思路 双指针法: (错误代码) 正解: 通用解法: 题目: 给你一个有序数组 nums ,请你 原地 ...
- LeetCode-80: 删除排序数组中的重复项 II
题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完 ...
- 力扣删除排序数组中的重复项 II
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的 ...
- leetcode80. 删除排序数组中的重复项 II
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 ...
- LeetCode 80. 删除排序数组中的重复项 II
1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完 ...
最新文章
- 转:小结datatable的使用
- mknod创建设备(加载新的设备驱动时候,通常会用到此命令)
- 求助啊,被STM32的CAN折磨的疯了
- leetcode-15-三数之和
- 一文了解Linux 网络 I/O 模型
- 包和模块_月隐学python第13课
- CSDN中巧用< >符号显示
- 手机抓包 fiddler 配置
- 重归理性 国内SOA平台期待价值提升
- 【010】Excel宏编程相关封装模块(字体设置、写入表格内容)_003_#VBA
- Linux磁盘配额教程,磁盘配额设置及使用
- 产品经理 | 职业选择及面试技巧
- python pandas read_excel 参数详解 to_excel 读写Excel
- Hi3519V101移植SDL+FreeType+SDL_ttf
- 订单超时自动取消3种方案——我们用这种!
- 使用gulp编译 sass和less
- 儿童手表运动轨迹和路径追踪_如何将智能手表或健身追踪器用作静音闹钟
- iOS密码管理Keychain的使用
- 阿尔法围棋是人工智能吗,围棋智能机器人阿法狗
- 计算机组成与嵌入式系统 百度云,计算机组成及嵌入式系统.pdf