代碼隨想錄Day2 數(shù)組:977.有序數(shù)組的平方 209.長度最小的子數(shù)組 59.螺旋矩陣Ⅱ

977. 有序數(shù)組的平方

class Solution {
public:
    vector<int> sortedSquares(vector<int>& nums) {
        int size = nums.size();
        vector<int> result;
        for (int i = 0; i < size; i++) {
            result.push_back(nums[i] * nums[i]);
        }
        sort(result.begin(), result.end());
        return result;
    }
};

注意點(diǎn):

  1. vector新增一個元素是push_back()
    2.vector.begin()、vector.end()
    3.sort()函數(shù)的用法

209. 長度最小的子數(shù)組

class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int subLength = 0;
        int sum = 0;
        int result = INT_MAX;
        int j = 0;
        int i = j;
        while (j < nums.size()) {
            sum += nums[j];
            while (sum >=target) {
                subLength = (j-i) + 1;
                result = subLength < result ? subLength:result;
                sum -= nums[i];
                i++;
            }
            j++;
        }
        return result < INT_MAX?result:0;
    }
};

注意點(diǎn):

  1. 雙指針
    2.滑動窗口

59. 螺旋矩陣 II

class Solution {
public:
    vector<vector<int>> generateMatrix(int n) {
        int up = 0, down = n - 1, left = 0, right = n - 1;
        int index = 1;
        vector<vector<int>> result(n, vector<int>(n));
        while (index <= n * n) {
            for (int i = left; i <= right ; i++) {
                result[up][i] = index;
                index++;
            }
            up++;
            for(int i = up; i <=down;i++){
                result[i][right] = index;
                index++;
            }
            right--;
            for(int i = right;i>=left;i--){
                result[down][i] = index;
                index++;
            }
            down--;
            for(int i= down;i>=up;i--) {
                result[i][left] = index;
                index++;
            }
            left++;
        }
        return result;
    }
};

注意點(diǎn):

  1. vector<int> (n) 初始化一個數(shù)量為n、值為0的數(shù)組;
    2.二維數(shù)組初始化方式 vector<vector<int>> result(n, vector<int>(n))
    就直接模擬就可以了。注意邊界上下左右的初始值、循環(huán)的邊界值、還有循環(huán)內(nèi)部邊界值怎么變就可以。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容