給你乙個排序陣列,刪除其中的重複元素,使得每個數字最多出現兩次,返回新的陣列的長度。
如果乙個數字出現超過2次,則這個數字最後保留兩個。
python:樣例 1:
輸入:
輸出: 0
樣例 2:
輸入: [1,1,1,2,2,3]
輸出: 5
樣例解釋:
長度為 5, 陣列為:[1,1,2,2,3]
class solution:
"""@param: nums: an ineger array
@return: an integer
"""def removeduplicates(self, nums):
# write your code here
if len(nums) <= 2:
return len(nums)
index = 1
samenum = 1
for i in range(1,len(nums)):
if nums[i] == nums[i-1]:
samenum+=1
else:
samenum = 1
if samenum <= 2:
nums[index] = nums[i]
index += 1
nums = nums[:index]
return len(nums)
c++:
class solution
int samenum = 1;
int index = 1;
for (int i = 1; i < nums.size(); i++) else
if(samenum <= 2)
}nums.resize(index);
return index;
}};
lintcode 刪除排序陣列中的重複數字
給定乙個排序陣列,在原陣列中刪除重複出現的數字,使得每個元素只出現一次,並且返回新的陣列的長度。不要使用額外的陣列空間,必須在原地沒有額外空間的條件下完成。給出陣列a 1,1,2 你的函式應該返回長度2,此時a 1,2 先說我的思路,刪除重複的元素即可,使用vector的迭代器iterator 12...
lintcode 刪除排序陣列中的重複數字
給定乙個排序陣列,在原陣列中刪除重複出現的數字,使得每個元素只出現一次,並且返回新的陣列的長度。不要使用額外的陣列空間,必須在原地沒有額外空間的條件下完成。給出陣列a 1,1,2 你的函式應該返回長度2,此時a 1,2 先說我的思路,刪除重複的元素即可,使用vector的迭代器iterator 12...
LintCode(100)刪除排序陣列中的重複數字
給定乙個排序陣列,在原陣列中刪除重複出現的數字,使得每個元素只出現一次,並且返回新的陣列的長度。不要使用額外的陣列空間,必須在原地沒有額外空間的條件下完成。您在真實的面試中是否遇到過這個題?yes 樣例 給出陣列a 1,1,2 你的函式應該返回長度2,此時a 1,2 對排序陣列去重,要求空間複雜度為...