Remove Element

来源:互联网 发布:linux怎么无法退出vim 编辑:程序博客网 时间:2024/05/29 17:28

此博客主要为自己刷第二次的时候回忆用,代码比较渣,不过会逐渐修改,当然也欢迎交流。

Remove Element

LeetCode 题目地址

第一版代码

112 / 112 test cases passed.
Status: Accepted
Runtime: 6 ms
Submitted: 3 minutes ago

class Solution {public:/*    int removeElement(int A[], int n, int elem) {        int i(0),count(0);        for(;i+count<n;i++){            for(;A[i+count]==elem;)                count++;            A[i]=A[i+count];        }        return n-count;    }*/    int removeElement(int A[], int n, int elem) {        int i(0),count(0);        for(;i<n;i++){            if(A[i]!=elem)                A[count++]=A[i];        }        return count;    }};

最开始的思路是两个计数器接在一起,长度累加
但是在[2,2,2,0,0], 5, 0 这块过不了,不知道为啥,我觉得返回的是对的

之后发现自己的思路还是兜圈子(感觉我写算法就是什么问题都弄得特复杂,暴露出基本功和算法思想的不扎实)。
最后用的是两个计数器,不等命中,相对我的累加方法,这个方便简单思路清晰,以后一定注意思想的简洁性。

0 0
原创粉丝点击