题解 | #草原牛群集合#

草原牛群集合

https://www.nowcoder.com/practice/6fc74519ff9c44288dbcec5db7345ded

知识点

双指针

思路

用i和j分别维护当前遍历到的位置以及当前放置的位置。

当nums[i]!=vals时,将其放在nums[j]处,同时j++。否则j不变。i始终保持右移。

最后数组中就去除了所有vals,并且j即为数组的大小。

代码c++

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @param val int整型 
     * @return int整型
     */
    int remove_cows(vector<int>& nums, int val) {
        // write code here
        int i = 0; // 指向当前要处理的元素
        int j = 0; // 指向下一个要放置元素的位置
        int n = nums.size();
      for(int i=0;i<n;i++)
      {
            if (nums[i] != val) {
                nums[j] = nums[i];
                j++;
            }
        }
        return j;

    }
};
全部评论

相关推荐

暴走萝莉莉:这是社招场吧,作为HR说个实话:这个维护关系的意思是要有政府资源,在曾经的工作中通过人脉资源拿下过大订单的意思。这个有相关管理经验,意思也是真的要有同岗位经验。应酬什么的对于业务成交来说就算不乐意也是常态,就是要求说话好听情商高,酒量好。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务