C++實現LeetCode(27.移除元素)
[LeetCode] 27. Remove Element 移除元素
Given an array nums and a value val, 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 1:
Given nums = [3,2,2,3], val = 3,
Your function should return length = 2, with the first two elements of nums being 2.
It doesn't matter what you leave beyond the returned length.
Example 2:
Given nums = [0,1,2,2,3,0,4,2], val = 2,
Your function should return length =
5
, with the first five elements of
nums
containing
0
,
1
,
3
,
0
, and 4.
Note that the order of those five elements can be arbitrary.
It doesn't matter what values are set beyond the returned length.
Clarification:
Confused why the returned value is an integer but your answer is an array?
Note that the input array is passed in by reference, which means modification to the input array will be known to the caller as well.
Internally you can think of this:
// nums is passed in by reference. (i.e., without making a copy)
int len = removeElement(nums, val);
// any modification to nums in your function would be known by the caller.
// using the length returned by your function, it prints the first len elements.
for (int i = 0; i < len; i++) {
print(nums[i]);
}
這道題讓我們移除一個數組中和給定值相同的數字,并返回新的數組的長度。是一道比較容易的題,只需要一個變量用來計數,然后遍歷原數組,如果當前的值和給定值不同,就把當前值覆蓋計數變量的位置,并將計數變量加1。代碼如下:
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int res = 0;
for (int i = 0; i < nums.size(); ++i) {
if (nums[i] != val) nums[res++] = nums[i];
}
return res;
}
};
到此這篇關于C++實現LeetCode(27.移除元素)的文章就介紹到這了,更多相關C++實現移除元素內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C++ 中"priority_queue" 優(yōu)先級隊列實例詳解
這篇文章主要介紹了C++ 中"priority_queue" 優(yōu)先級隊列實例詳解的相關資料,需要的朋友可以參考下2017-04-04
C++函數指針+對象指針+this指針+指向類靜態(tài)和非靜態(tài)成員的指針
這篇文章主要介紹了C++函數指針+對象指針+this指針+指向類靜態(tài)和非靜態(tài)成員的指針,函數指針定義和賦值的語法指其中數據類型代表指向函數的返回類型,形參表為指向函數的形參表,更多相關資料需要的朋友可以參考一下下面文章內容2022-03-03
C++11新特性中auto 和 decltype 區(qū)別和聯系
這篇文章主要介紹了C++11新特性中auto 和 decltype 區(qū)別和聯系的相關資料,需要的朋友可以參考下2017-01-01
使用C語言編寫基于TCP協(xié)議的Socket通訊程序實例分享
這篇文章主要介紹了使用C語言編寫基于TCP協(xié)議的Socket通訊程序實例分享,能夠實現包括重新連接與每分鐘通信一次等的功能,需要的朋友可以參考下2016-03-03

