Programers:行列の加算(resize()/reserve()


ベクトルを使用したresize()


  • の初期値について未確定のvector<vector<int>> answerすぐに[i][j]と答えてこのような愚かな行為をした.
  • 考えてみると、私たちが入れたベクトルは大きさが決まっていないので、近づくことができません!
  • で利用可能なのはvector.resize()です.
  • で希望するサイズ/初期値を入力して初期化して生成します!
  • のようなvector.reserve()はメモリのみを保持し、初期化/作成は行われません.
  • コード#コード#

    #include <string>
    #include <vector>
    
    using namespace std;
    
    vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
        vector<vector<int>> answer;
        for(int i=0;i<arr1.size();i++)
        {
            answer.resize(arr1.size());
            for(int j=0;j<arr1[i].size();j++)
            {
                answer[i].resize(arr1[i].size());
                answer[i][j]=arr1[i][j] + arr2[i][j];
            }
        }
        return answer;
    }