当前位置:网站首页>leetcode-6111:螺旋矩阵 IV
leetcode-6111:螺旋矩阵 IV
2022-07-05 05:46:00 【菊头蝙蝠】
题目
题目连接
给你两个整数:m
和 n
,表示矩阵的维数。
另给你一个整数链表的头节点 head
。
请你生成一个大小为 m x n
的螺旋矩阵,矩阵包含链表中的所有整数。链表中的整数从矩阵 左上角 开始、顺时针 按 螺旋 顺序填充。如果还存在剩余的空格,则用 -1
填充。
返回生成的矩阵。
示例 1:
输入:m = 3, n = 5, head = [3,0,2,6,8,1,7,9,4,2,5,5,0]
输出:[[3,0,2,6,8],[5,0,-1,-1,1],[5,2,4,9,7]]
解释:上图展示了链表中的整数在矩阵中是如何排布的。
注意,矩阵中剩下的空格用 -1 填充。
示例 2:
输入:m = 1, n = 4, head = [0,1,2]
输出:[[0,1,2,-1]]
解释:上图展示了链表中的整数在矩阵中是如何从左到右排布的。
注意,矩阵中剩下的空格用 -1 填充。
解题
方法一:模拟
螺旋矩阵系列题目都差不多,无非是用链表来取值。
/** * 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;
}
};
边栏推荐
- Graduation project of game mall
- 个人开发的渗透测试工具Satania v1.2更新
- Control Unit 控制部件
- Web APIs DOM node
- F - Two Exam(AtCoder Beginner Contest 238)
- Sword finger offer 04 Search in two-dimensional array
- Little known skills of Task Manager
- Educational Codeforces Round 116 (Rated for Div. 2) E. Arena
- Reflection summary of Haut OJ freshmen on Wednesday
- Sword finger offer 58 - ii Rotate string left
猜你喜欢
[jailhouse article] jailhouse hypervisor
Sword finger offer 04 Search in two-dimensional array
挂起等待锁 vs 自旋锁(两者的使用场合)
Fried chicken nuggets and fifa22
Acwing 4300. Two operations
AtCoder Grand Contest 013 E - Placing Squares
浅谈JVM(面试常考)
剑指 Offer 04. 二维数组中的查找
剑指 Offer 05. 替换空格
【Jailhouse 文章】Look Mum, no VM Exits
随机推荐
On the characteristics of technology entrepreneurs from Dijkstra's Turing Award speech
Summary of Haut OJ 2021 freshman week
CF1637E Best Pair
Acwing 4300. Two operations
Daily question 1984 Minimum difference in student scores
注解与反射
Sword finger offer 35 Replication of complex linked list
个人开发的渗透测试工具Satania v1.2更新
kubeadm系列-02-kubelet的配置和启动
Introduction and experience of wazuh open source host security solution
剑指 Offer 58 - II. 左旋转字符串
Software test -- 0 sequence
R language [import and export of dataset]
Daily question 1342 Number of operations to change the number to 0
Animation scoring data analysis and visualization and it industry recruitment data analysis and visualization
Daily question 2013 Detect square
Web APIs DOM node
Simple knapsack, queue and stack with deque
Gbase database helps the development of digital finance in the Bay Area
卷积神经网络简介