LeetCode OJ-- Spiral Matrix
2024-09-08 11:11:52
https://oj.leetcode.com/problems/spiral-matrix/
螺旋矩阵,逆着转,输出矩阵中的元素。
在纸上模仿,然后记左上角(l1,l2)右上角(l1,r2),左下角(p1,l2)右下角(p1,r2).
然后4个for循环从一个点到另一个点位置遍历。
while控制总的。
当在一次遍历中,没有要输出的点,说明遍历结束。
class Solution {
public:
vector<int> spiralOrder(vector<vector<int> > &matrix) {
vector<int> ans;
int row = matrix.size();
if(row == )
return ans;
if(row ==)
{
for(int i = ;i<matrix[].size();i++)
ans.push_back(matrix[][i]);
return ans;
}
int col = matrix[].size(); int l1,l2,r2,p1;
l1 = ;
l2 = ;
r2 = col - ;
p1 = row -; while()
{
int i;
if(l2>r2)
break;
for(i = l2; i <= r2; i++)
ans.push_back(matrix[l1][i]); if(l1+>p1)
break;
for(i = l1+;i<= p1;i++)
ans.push_back(matrix[i][r2]); if(r2-<l2)
break;
for(i = r2-;i>=l2;i--)
ans.push_back(matrix[p1][i]); if(p1-<l1+)
break;
for(i = p1-;i>=l1+;i--)
ans.push_back(matrix[i][l2]);
l1++;
l2++;
r2--;
p1--;
}
return ans;
}
};
最新文章
- ABP源码分析五:ABP初始化全过程
- 浅析初等贪吃蛇AI算法
- (原创)用Receiver和SystemService监听网络状态,注册Receiver的两种方式
- Week1项目报告
- 如何设置一个严格30分钟过期的Session
- iOS-GCD用法
- OC2-xml文件解析
- spoj LCS
- Java精确计算
- DataGrid( 数据表格) 组件[9]
- COM-TEAM
- 纳税服务系统【用户模块之使用POI导入excel、导出excel】
- 微信小程序之页面路由
- 我的python之路
- [Swift]LeetCode16. 最接近的三数之和 | 3Sum Closest
- BZOJ5037[Jsoi2014]电信网络——最大权闭合子图
- msfvenom生成各类Payload命令
- scala-jdbc-scalike操作jdbc数据库
- Spring Boot初识(1)-了解Spring Boot
- Individual Project-word frequency
热门文章
- Python头脑风暴2
- Educational Codeforces Round 53 (Rated for Div. 2) C Vasya and Robot 二分
- 解决VMware vSphere Client无法连接ESXi虚拟主机方法
- install redis and used in golang on ubuntu 14.04
- 算法学习记录-查找——折半查找(Binary Search)
- java8新特性:接口的默认方法与静态方法
- Selenium WebDriver-通过页面标题切换窗口
- python - 自动化测试框架 - 测试报告
- uiautomatorviewer打不开
- 缓存淘汰算法之LFU