C++ 从leetcode的排序数组中删除重复项,为什么回答错误?;
这是从leetcode的排序数组中删除重复项 正确答案是C++ 从leetcode的排序数组中删除重复项,为什么回答错误?;,c++,C++,这是从leetcode的排序数组中删除重复项 正确答案是 class Solution { public: /** * @param A: a list of integers * @return : return an integer */ int removeDuplicates(vector<int> &nums) { // write your code here int i=1;
class Solution {
public:
/**
* @param A: a list of integers
* @return : return an integer
*/
int removeDuplicates(vector<int> &nums) {
// write your code here
int i=1;
while(i<nums.size()){
if(nums[i] != nums[i-1])
++i;
else
nums.erase(nums.begin()+i);
}
return nums.size();
}
};
类解决方案{
公众:
/**
*@param A:整数列表
*@return:返回一个整数
*/
int-removeDuplicates(向量和nums){
//在这里编写代码
int i=1;
虽然(i访问向量是基于零的(就像内置的低级数组一样),所以将i的初始值设置为零(而不是1)。在专业代码中,我希望通过对向量使用标准排序和唯一算法来实现这一点。您需要在外部条件的基础上增加I,而在内部,除此之外,还需要从零开始。而不是从1开始。向量类似于数组。for(int I=1;I[2]输入:[1,1,1]输出:[1,1]预期:[1]删除项时,可能不加i+?
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int i = 1;
while( i < nums.size()) {
if( nums[i] != nums[i+1])
i++;
else
nums.erase(nums.begin() + i);
}
return nums.size();
}
};
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
for(int i = 1; i < nums.size(); i++) {
if( nums[i-1] = nums[i])
nums.erase(nums.begin() + i);
}
return nums.size();
}
};