本文是自己没有系统学习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