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]);
}
這道題讓我們移除一個(gè)數(shù)組中和給定值相同的數(shù)字,并返回新的數(shù)組的長(zhǎng)度。是一道比較容易的題,只需要一個(gè)變量用來(lái)計(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- C++實(shí)現(xiàn)LeetCode(37.求解數(shù)獨(dú))
- C++實(shí)現(xiàn)LeetCode(32.最長(zhǎng)有效括號(hào))
- C++實(shí)現(xiàn)LeetCode(31.下一個(gè)排列)
- C++實(shí)現(xiàn)LeetCode(30.串聯(lián)所有單詞的子串)
- C++實(shí)現(xiàn)LeetCode(28.實(shí)現(xiàn)strStr()函數(shù))
- C++實(shí)現(xiàn)LeetCode(83.移除有序鏈表中的重復(fù)項(xiàng))
- C++實(shí)現(xiàn)LeetCode(46.全排列)
相關(guān)文章
C++ 中"priority_queue" 優(yōu)先級(jí)隊(duì)列實(shí)例詳解
這篇文章主要介紹了C++ 中"priority_queue" 優(yōu)先級(jí)隊(duì)列實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
C++函數(shù)指針+對(duì)象指針+this指針+指向類靜態(tài)和非靜態(tài)成員的指針
這篇文章主要介紹了C++函數(shù)指針+對(duì)象指針+this指針+指向類靜態(tài)和非靜態(tài)成員的指針,函數(shù)指針定義和賦值的語(yǔ)法指其中數(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)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
關(guān)于C++數(shù)組中重復(fù)的數(shù)字
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的三子棋游戲源碼
C語(yǔ)言使用ffmpeg和sdl實(shí)現(xiàn)多路音頻播放

