1 static int wing=[]() 2 { 3 std::ios::sync_with_stdio(false); 4 cin.tie(NULL); 5 return 0; 6 }(); 7 8 class Solution 9 { 10 public: 11 vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) 12 { 13 int pr=nums.size(); 14 int pl=nums[0].size(); 15 if(pr*pl!=r*c) 16 return nums; 17 vector<vector<int>> res(r); 18 vector<int> cur(c); 19 int j=0,k=0; 20 for(auto &v:nums) 21 { 22 for(int i:v) 23 { 24 cur[j++]=i; 25 if(j==c) 26 { 27 j=0; 28 res[k++]=cur; 29 } 30 } 31 } 32 return res; 33 } 34 };
扫描原容器每一个元素,新建一个符合结果要求的容器,将每个元素依次放入容器中,放满了再将此容器放入结果中。
浙公网安备 33010602011771号