LeetCode打卡 | 双指针(NO.26,NO.977)

打卡DAY02
LeetCode 26 删除有序数组中的重复项
!原题链接 !
题目要求:
LeetCode打卡 | 双指针(NO.26,NO.977)_第1张图片
判题标准:
LeetCode打卡 | 双指针(NO.26,NO.977)_第2张图片
示例:
LeetCode打卡 | 双指针(NO.26,NO.977)_第3张图片

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

LeetCode 977 有序数组的平方
!原题链接 !
题目要求:
在这里插入图片描述
示例:
LeetCode打卡 | 双指针(NO.26,NO.977)_第4张图片
C++代码:

class Solution {
public:
    vector sortedSquares(vector& nums) {
        vector new_nums(nums.size(), 0);
        int k = nums.size() - 1;
        for(int i = 0, j = nums.size() - 1; i <= j; ){
            if(nums[j] * nums[j] > nums[i] * nums[i]){
                new_nums[k--] = nums[j] * nums[j];
                j--;
            }else{
                new_nums[k--] = nums[i] * nums[i];
                i++;
            }
        }
        return new_nums;
    }
};

推荐超级有用,宝藏UP:代码随想录 真的很棒,打算以后跟着刷!!!

你可能感兴趣的:(leetcode,算法,职场和发展,c++)