【LeetCode 54】螺旋矩阵
📅 2026/7/23 23:59:05
👁️ 次浏览
问题描述解法1、模拟参考自【LeetCode 54】螺旋矩阵-CSDN博客int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) { static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, 0}}; int *ans malloc(sizeof(*ans) * 100); int row matrixSize; int col matrixColSize[0]; int num row * col; int i 0; int j 0; int k 0; int h 0; *returnSize num; while (num--) { /* 记录元素并标记为已记录 */ ans[k] matrix[i][j]; matrix[i][j] 0xff; /* 下一步可能的位置 */ int curr i dirs[h][0]; int next j dirs[h][1]; /* 判断下一步可能的位置是否合理越界或已记录则右转90° */ if (curr 0 || curr row || next 0 || next col || matrix[curr][next] 0xff) h (h 1) 0x03; // (x % 4) - (x 0x03) /* 下一步的位置 */ i dirs[h][0]; j dirs[h][1]; } return ans; }矩阵 dirs[4][2] 表示四方向偏移数组存储上下左右四个移动增量常用于网格类算法。具体含义如下下标上解的hdx, dy移动方向0(0, 1)右列 11(1, 0)下行 12(0,-1)左列 - 13(-1,0)上行 - 1if 的判断条件拆解螺旋遍历数组时若下一格坐标越界或下一格已经走过则顺时针旋转90°h%41.curr 0下一步行坐标小于 0继续向上则将走出矩阵上边界2. curr row下一步行坐标 ≥ 总行数继续向下则将走出矩阵下边界3. next 0下一步列坐标小于 0继续向左则将走出矩阵左边界4. next col下一步列坐标 ≥ 总列数继续向右则将走出矩阵右边界5. matrix[curr][next] 0xff下一步坐标合法且没有越界但之前已经遍历过(h % 4) → (h 0x03)对一个正整数取4的余数本质就是截取其二进制的最后两位用位运算更快是常见的优化方式。2、建立并维护边界int* sprialOrder(int** matrix, int matrixSize, int* matrixColSize, int* returnSize) { if (!matrix) return NULL; int top 0, btm matrixSize - 1, left 0, right matrixColSize[0] - 1; *returnSize 0; int* arr malloc(sizeof(int) * matrixSize * matrixColSize[0]); while (top btm left right) { /* 左-右访问第top行 */ for (int i left; i right; i) arr[(*returnSize)] matrix[top][i]; top; /* 上-下访问第right列 */ for (int i top; i btm; i) arr[(*returnSize)] matrix[i][right]; right--; /* 右-左访问第btm行需要判断即将遍历的这条边是否存在 */ if (top btm) { for (int i right; i left; i--) arr[(*returnSize)] matrix[btm][i]; btm--; } /* 下-上访问第left列 */ if (left right) { for (int i btm; i top; i--) arr[(*returnSize)] matrix[i][left]; left; } } return arr; }【LeetCode 54】螺旋矩阵-CSDN博客解法2可看作是上解的优化方案二者的解决思路比较相似。
在鸿蒙(HarmonyOS)原生应用开发中,二维码与条形码的生成、扫描及识别是高频核心场景。鸿蒙生态提供了从系统级服务到跨平台库的丰富方案,帮助开发者快速构建精准的扫码体验。一、 官方核心方案:Scan Kit(统…
📅 2026/7/23 23:58:05
🚀 学习工作效率不够?让 AI 成为你的智能助手!无论你是正在赶课设、查资料、改论文、调代码的学生,还是需要写方案、做PPT、整理表格、优化文案的上班族,这里都能找到适合你的 GPT 等热门 AI 产品会员。✅ 梳理课设思路…
📅 2026/7/23 23:58:05
前两天帮朋友处理一批遥感影像,折腾到半夜两点。
那叫一个崩溃啊。
明明看着好好的图片,一加载到ArcGIS里,全乱码。
坐标对不上,范围还溢出。
真的,搞GIS这行,Geo Tif这玩意儿就像个脾气古怪的老婆。
你不得哄着它,它就能给你好脸色看。
很多新手兄弟,拿到数据直接拖进…
📅 2026/7/23 23:56:49
1. 项目概述:为什么你需要关注MSPM0的NONMAIN配置?如果你正在使用德州仪器(TI)的MSPM0 L系列微控制器,并且你的产品即将进入量产阶段,或者你正在设计一个对安全性、可靠性和知识产权保护有要求的嵌入式系统…
📅 2026/7/24 1:08:26
1. TVP5146M2:不只是解码,更是视频信息的“翻译官”在数字视频处理的世界里,解码器常常被简单地看作一个“翻译”,负责将模拟的CVBS、S-Video或分量信号转换成数字世界能理解的YUV或RGB数据流。然而,如果你只把TVP5146…
📅 2026/7/24 1:08:26
【OpenHarmony/HarmonyOS】ArkUI 多语言与设置中心:资源限定词、PersistentStorage 和运行时切换本文以一个支持中文、日文、韩文的 HarmonyOS 游戏为例,说明如何组织字符串资源、构建设置中心、持久化语言偏好,并处理运行时切换的兼容问题。…
📅 2026/7/24 1:07:26
一、集合嵌套1、HashMap嵌套HashMap<span style"font-size:18px;"> /** HashMap嵌套HashMap* * * * 先存储元素,然后遍历元素*/public void test3(){// 创建集合对象HashMap<String, HashMap<String, Integer>> czbkMap new HashMap&l…
📅 2026/7/24 1:07:26
【OpenHarmony/HarmonyOS】ArkUI 科幻星空动效:Canvas 粒子、流星与声明式多层动画如何不依赖视频背景,在 HarmonyOS 页面中实现具有空间感的动态星空?本文拆解一个由 Canvas 星粒子、流星、渐变背景和 ArkUI 几何动画共同组成的可复用组件。…
📅 2026/7/24 1:07:25
doom3代码结构 code
原文地址 https://www.iddevnet.com/doom3/code.php , 原来 我认为这个网站已经倒闭了,毕竟从Doom4,quake4是2004,2005的,
关注的人太少了 ,我觉得这些文章有助于对于doom3,代码的理解ÿ…
📅 2026/7/24 1:07:25
大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…
📅 2026/7/24 0:00:05
srcampy /libsrcampy 名称释义先明确结论: 官方文档没有公布标准化英文全称,是地平线内部项目缩写;行业公认拆解如下:srcampy Source Amplifier Python bindingsrc Source(图像源:MIPI Sensor、视频源&am…
📅 2026/7/24 0:01:06
该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…
📅 2026/7/24 0:01:06
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/24 1:07:52
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/24 1:07:52
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/24 1:07:52
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/23 7:06:56
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/23 17:07:28
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/23 5:06:50