本文是自己没有系统学习c++(野路子)就去弄leetcode题的结果,leetcode上只有一个类,能在我们自己的编译器上调试运行代码也是很重要的
以leetcode 26为例
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
int A[3]={1,1,2};
class Solution{
public :
int index;
int removeDuplicates(int A[]){
index=0;
for(int i=1;i<3;i++)
{
if(A[i]!=A[index])
A[++index]=A[i];
}
return index+1;
}
};
int main()
{
Solution liao;
printf("%d\n",liao.removeDuplicates(A));
return 0;
}
以下是stl一个模板的尝试
/*
int A[3]={1,1,2};
int main()
{
for(int i=0;i<3;i++)
{
printf("%d\n",unique(A,A+3,cmp)[i]);
}
printf("%d\n",distance(A,unique(A,A+3)));
}
*/
最后的AC代码:
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int index=0;
int n=nums.size();
if(n==0)
return 0;
for(int i=1;i<n;i++)
{
if(nums[i]!=nums[index])
nums[++index]=nums[i];
}
return index+1;
}
};
其实自己写的时候老出问题还是在于class后面的分号orz