C++實(shí)現(xiàn)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]);
}
這道題讓我們移除一個數(shù)組中和給定值相同的數(shù)字,并返回新的數(shù)組的長度。是一道比較容易的題,只需要一個變量用來計(jì)數(shù),然后遍歷原數(shù)組,如果當(dāng)前的值和給定值不同,就把當(dāng)前值覆蓋計(jì)數(shù)變量的位置,并將計(jì)數(shù)變量加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;
}
};
到此這篇關(guān)于C++實(shí)現(xiàn)LeetCode(27.移除元素)的文章就介紹到這了,更多相關(guān)C++實(shí)現(xiàn)移除元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++ 中"priority_queue" 優(yōu)先級隊(duì)列實(shí)例詳解
這篇文章主要介紹了C++ 中"priority_queue" 優(yōu)先級隊(duì)列實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
C++函數(shù)指針+對象指針+this指針+指向類靜態(tài)和非靜態(tài)成員的指針
這篇文章主要介紹了C++函數(shù)指針+對象指針+this指針+指向類靜態(tài)和非靜態(tài)成員的指針,函數(shù)指針定義和賦值的語法指其中數(shù)據(jù)類型代表指向函數(shù)的返回類型,形參表為指向函數(shù)的形參表,更多相關(guān)資料需要的朋友可以參考一下下面文章內(nèi)容2022-03-03
C++11新特性中auto 和 decltype 區(qū)別和聯(lián)系
這篇文章主要介紹了C++11新特性中auto 和 decltype 區(qū)別和聯(lián)系的相關(guān)資料,需要的朋友可以參考下2017-01-01
c++中深淺拷貝以及寫時(shí)拷貝的實(shí)現(xiàn)示例代碼
這篇文章主要給大家介紹了關(guān)于c++中深淺拷貝以及寫時(shí)拷貝實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
關(guān)于C++數(shù)組中重復(fù)的數(shù)字
C語言使用ffmpeg和sdl實(shí)現(xiàn)多路音頻播放

