当前位置:网站首页>54. Spiral matrix & 59 Spiral matrix II ●●
54. Spiral matrix & 59 Spiral matrix II ●●
2022-07-05 04:50:00 【chenyfan_】
54. Spiral matrix ●●
To give you one m That's ok n Columns of the matrix matrix , Please follow Clockwise spiral sequence , Returns all elements in the matrix .
Input :matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
Output :[1,2,3,4,8,12,11,10,9,5,6,7]
- simulation
The four edges traverse in order , Move 、 Judgement boundary .
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
int m = matrix.size(); // m That's ok
int n = matrix[0].size(); // n Column
int top = 0, right = n-1, left = 0, buttom = m-1; // Boundary index value
int numsize = m*n;
int num = 0;
vector<int> ans(numsize);
while(true){
for(int i = left; i <= right; i++){
ans[num++] = matrix[top][i];
}
top++;
if(top>buttom) break; // Traverse Judgement boundary
for(int i = top; i <= buttom; i++){
ans[num++] = matrix[i][right];
}
right--;
if(left>right) break;
for(int i = right; i >= left; i--){
ans[num++] = matrix[buttom][i];
}
buttom--;
if(top>buttom) break;
for(int i = buttom; i >= top; i--){
ans[num++] = matrix[i][left];
}
left++;
if(left>right) break;
}
return ans;
}
};
59. Spiral matrix II ●●
Give you a positive integer n , Generate a include 1 To n 2 n^2 n2 All the elements , And the element press Clockwise order Spirally arranged n x n square matrix matrix .
Input :n = 3
Output :[[1,2,3],[8,9,4],[7,6,5]]
- Generate a n×n Empty matrix ans, Then simulate the whole inward surrounding filling process :
- Define the current left and right upper and lower boundaries l,r,t,b, Initial value num = 1, Iteration termination value numsize = n * n;
- When num <= numsize when , Always follow From left to right From top to bottom From right to left From bottom to top Fill in the sequence loop , After each filling :
- perform num += 1: Get the next number to fill in ;
- Update boundaries : For example, after filling in from left to right , Upper boundary t += 1, Equivalent to the upper boundary shrinking inward 1.
- Use num <= numsize instead of l < r || t < b As an iterative condition , In order to Solve when n In an odd number of , The problem that the central number of the matrix cannot be filled in during the iteration .
- Eventually return ans that will do .

class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<vector<int>> ans(n, vector<int>(n, 0));
int up = 0, down = n-1, left = 0, right = n-1;
int cnt = 1, num = n*n;
while(cnt <= num){
// Iteration conditions , Number of fillings <= Lattice number
for(int i = left; i <= right; ++i) ans[up][i] = cnt++; // Move right
++up;
for(int i = up; i <= down; ++i) ans[i][right] = cnt++; // Move down
--right;
for(int i = right; i >= left; --i) ans[down][i] = cnt++; // Move left
--down;
for(int i = down; i >= up; --i) ans[i][left] = cnt++; // Move upward
++left;
}
return ans;
}
};
边栏推荐
- Neural networks and deep learning Chapter 5: convolutional neural networks reading questions
- SQLServer 存储过程传递数组参数
- AutoCAD - set layer
- Séparation et combinaison de la construction du système qualité
- Discussion on the dimension of confrontation subspace
- [goweb development] Introduction to authentication modes based on cookies, sessions and JWT tokens
- Solution of circular dependency
- Interface joint commissioning test script optimization V5.0 (end)
- Thematic information | carbon, carbon neutrality, low carbon, carbon emissions - 22.1.9
- Neural networks and deep learning Chapter 3: linear model reading questions
猜你喜欢
![[PCL self study: feature9] global aligned spatial distribution (GASD) descriptor (continuously updated)](/img/2b/933586b6feff1d48c5bee11cd734ba.jpg)
[PCL self study: feature9] global aligned spatial distribution (GASD) descriptor (continuously updated)

Advanced length of redis -- deletion strategy, master-slave replication, sentinel mode

Thinking of 2022 American College Students' mathematical modeling competition

Séparation et combinaison de la construction du système qualité

Hypothesis testing -- learning notes of Chapter 8 of probability theory and mathematical statistics

3 minutes learn to create Google account and email detailed tutorial!

AutoCAD - workspace settings

A survey of automatic speech recognition (ASR) research

介绍汉明距离及计算示例

AutoCAD - continuous annotation
随机推荐
xss注入
Neural networks and deep learning Chapter 2: machine learning overview reading questions
[AI bulletin 20220211] the hard core up owner has built a lidar and detailed AI accelerator
"Measuring curve length" of CAD dream drawing
2022-2028 global and Chinese video coding and transcoding Market Research Report
Neural network and deep learning Chapter 1: introduction reading questions
#775 Div.1 B. Integral Array 数学
Use assimp library to read MTL file data
MySQL audit log Archive
A survey of automatic speech recognition (ASR) research
Emlog博客主题模板源码简约好看响应式
[Business Research Report] Research Report on male consumption trends in other economic times -- with download link
Neural networks and deep learning Chapter 3: linear model reading questions
[Business Research Report] top ten trends of science and technology and it in 2022 - with download link
How should programmers learn mathematics
Introduction to JVM principle and process
AutoCAD - window zoom
AutoCAD - Zoom previous
Download the details and sequence of the original data access from the ENA database in EBI
2022-2028 global and Chinese virtual data storage Market Research Report

