zoukankan      html  css  js  c++  java
  • 27. Remove Element

    27. Remove Element

    题目

    Given an array and a value, remove all instances of that value in-place and return the new length.
    
    Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
    
    The order of elements can be changed. It doesn't matter what you leave beyond the new length.
    
    Example:
    
    Given nums = [3,2,2,3], val = 3,
    
    Your function should return length = 2, with the first two elements of nums being 2.
    
    
    

    解析

    class Solution_27 {
    public:
    
    	// 直接查看cnt长度的元素值;若是str,最后加上‘’
    	int removeElement(vector<int>& nums, int val) {
    		int cnt = 0;
    		for (int i = 0; i < nums.size();i++)
    		{
    			if (nums[i]!=val)
    			{
    				nums[cnt++] = nums[i];
    			}
    		}
    		
    		return cnt;
    	}
    
    
    //测试用例: 牛客网上有顺序要求
    //	[1, 2, 3, 4], 1
    //
    //	对应输出应该为 :
    //
    //			[4, 2, 3]
    //
    //你的输出为 :
    //
    //	[2, 3, 4]
    	int removeElement(int A[], int n, int elem) {
    	
    		int i = 0;
    		for ( i= 0; i < n; i++)
    		{
    			if (A[i] == elem)
    			{
    				while (i<n&&A[--n] == elem);
    				A[i] = A[n];
    			}
    		}
    
    		return n;
    	}
    };
    
    

    题目来源

  • 相关阅读:
    类和结构体(转)
    XLua标签(转)
    unity项目开始架构
    TCPSocket(转)
    UGUI源码(六)VertexHelper
    图文混排
    渲染管线(转)
    c#tostring用法(转)
    unity协程(转载)
    vue界面显示无效的token
  • 原文地址:https://www.cnblogs.com/ranjiewen/p/8340865.html
Copyright © 2011-2022 走看看