0
点赞
收藏
分享

微信扫一扫

【001】每日算法学习——day1数组

一脸伟人痣 2022-08-12 阅读 60

Question No.1

删除有序数组中的重复项

​​https://leetcode.cn/problems/remove-duplicates-from-sorted-array/​​

class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int len = 0;
for(int i = 0; i < nums.size(); i++){
if(!i || nums[i] != nums[i-1]){
nums[len] = nums[i];
len++;
}
}
return len;
}
};


Question No.2

移动零

​​https://leetcode.cn/problems/move-zeroes/​​

class Solution {
public:
void moveZeroes(vector<int>& nums) {
int len = 0;
for(int i = 0; i< nums.size(); i++){
if(nums[i] != 0){
nums[len] = nums[i];
len++;
}
}
while(len < nums.size()){
nums[len] = 0;
len++;
}
}
};


Question No.3

合并两个有序数组

​​https://leetcode.cn/problems/merge-sorted-array/submissions/​​

class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
vector<int> res;
int i = 0,j = 0;
while(i < m || j < n){
if(j >= n || (i < m && nums1[i] < nums2[j])){
res.push_back(nums1[i++]);
}else{
res.push_back(nums2[j++]);
}
}
for(int i = 0; i < m+n; i++) nums1[i] = res[i];
}
};

举报

相关推荐

0 条评论