当前位置:网站首页>Leetcode-6111: spiral matrix IV
Leetcode-6111: spiral matrix IV
2022-07-05 06:09:00 【Chrysanthemum headed bat】
leetcode-6111: Spiral matrix IV
subject
Topic linking
Here are two integers :m and n , Represents the dimension of the matrix .
Another head node of the integer linked list head .
Please generate a size of m x n The spiral matrix of , The matrix contains all integers in the linked list . The integers in the linked list are from the matrix top left corner Start 、 Clockwise Press screw Fill in order . If there are still remaining spaces , Then use -1 fill .
Return the generated matrix .
Example 1:
Input :m = 3, n = 5, head = [3,0,2,6,8,1,7,9,4,2,5,5,0]
Output :[[3,0,2,6,8],[5,0,-1,-1,1],[5,2,4,9,7]]
explain : The figure above shows how the integers in the linked list are arranged in the matrix .
Be careful , The remaining spaces in the matrix are used -1 fill .
Example 2:
Input :m = 1, n = 4, head = [0,1,2]
Output :[[0,1,2,-1]]
explain : The figure above shows how the integers in the linked list are arranged from left to right in the matrix .
Be careful , The remaining spaces in the matrix are used -1 fill .

Problem solving
Method 1 : simulation
Spiral matrix series topics are similar , It's nothing more than using a linked list to get values .
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */
class Solution {
public:
vector<vector<int>> spiralMatrix(int m, int n, ListNode* head) {
vector<vector<int>> matrix(m,vector<int>(n,-1));
vector<vector<int>> dirs={
{
0,1},{
1,0},{
0,-1},{
-1,0}};
int x=0,y=0;
int cur_d=0;
int top=0,down=m-1,left=0,right=n-1;
ListNode* cur=head;
while(cur){
matrix[x][y]=cur->val;
if(cur_d==0&&y==right){
top++;
cur_d++;
}
else if(cur_d==1&&x==down){
right--;
cur_d++;
}
else if(cur_d==2&&y==left){
down--;
cur_d++;
}
else if(cur_d==3&&x==top){
left++;
cur_d++;
}
cur_d%=4;
x+=dirs[cur_d][0];
y+=dirs[cur_d][1];
cur=cur->next;
}
return matrix;
}
};
边栏推荐
- 数据可视化图表总结(二)
- 2022年贵州省职业院校技能大赛中职组网络安全赛项规程
- [practical skills] how to do a good job in technical training?
- 快速使用Amazon MemoryDB并构建你专属的Redis内存数据库
- Introduction to convolutional neural network
- [jailhouse article] look mum, no VM exits
- PC register
- js快速将json数据转换为url参数
- 884. Uncommon words in two sentences
- [article de jailhouse] jailhouse hypervisor
猜你喜欢

Navicat連接Oracle數據庫報錯ORA-28547或ORA-03135

1.13 - RISC/CISC

CCPC Weihai 2021m eight hundred and ten thousand nine hundred and seventy-five

2017 USP Try-outs C. Coprimes

Fried chicken nuggets and fifa22

EOJ 2021.10 E. XOR tree

The connection and solution between the shortest Hamilton path and the traveling salesman problem

Erreur de connexion Navicat à la base de données Oracle Ora - 28547 ou Ora - 03135

【实战技能】如何做好技术培训?

leetcode-6108:解密消息
随机推荐
shared_ Repeated release heap object of PTR hidden danger
【Rust 笔记】14-集合(下)
[rust notes] 14 set (Part 1)
【Jailhouse 文章】Jailhouse Hypervisor
[cloud native] record of feign custom configuration of microservices
leetcode-9:回文数
leetcode-6108:解密消息
2020ccpc Qinhuangdao J - Kingdom's power
Educational Codeforces Round 116 (Rated for Div. 2) E. Arena
[jailhouse article] look mum, no VM exits
1039 Course List for Student
Analysis of backdoor vulnerability in remote code execution penetration test / / phpstudy of national game title of national secondary vocational network security B module
Appium automation test foundation - Summary of appium test environment construction
EOJ 2021.10 E. XOR tree
网络工程师考核的一些常见的问题:WLAN、BGP、交换机
MIT-6874-Deep Learning in the Life Sciences Week 7
【Rust 笔记】13-迭代器(下)
Common optimization methods
leetcode-556:下一个更大元素 III
Overview of variable resistors - structure, operation and different applications