LCR 146. 螺旋遍历二维数组

解题思路:

class Solution {
    public int[] spiralArray(int[][] array) {
        if(array.length == 0) return new int[0];

        int l = 0, r = array[0].length - 1;
        int t = 0, b = array.length - 1;
        int x = 0;
        int[] res = new int[(r + 1) * (b + 1)];

        while(true) {
            for(int i = l; i <= r; i++) res[x++] = array[t][i]; //从左到右
            if(++t > b) break;
            for(int i = t; i <= b; i++) res[x++] = array[i][r]; //从上到下
            if(--r < l) break;
            for(int i = r; i >= l; i--) res[x++] = array[b][i]; //从右到左
            if(--b < t) break;
            for(int i = b; i >= t; i--) res[x++] = array[i][l]; //从下到上
            if(++l > r) break;
        }
        return res;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/252122.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux(23):Linux 核心编译与管理

编译前的任务&#xff1a;认识核心与取得核心原始码 Linux 其实指的是核心。这个【核心(kernel)】是整个操作系统的最底层&#xff0c;他负责了整个硬件的驱动&#xff0c;以及提供各种系统所需的核心功能&#xff0c;包括防火墙机制、是否支持 LVM 或 Quota 等文件系统等等&a…

C语言入门基础(二)

基本概念 地址 计算机的内存是一块用于存储数据的空间&#xff0c;由一系列连续的存储单元组成&#xff0c;就像下面这样&#xff0c; 每一个单元格都表示1个Bit&#xff0c;一个bit在EE专业的同学看来就是高低电位&#xff0c;而在CS同学看来就是0&#xff0c;1两种状态。 …

cpp_02_函数重载_动态内存分配_左值右值_引用_内联函数

1 函数重载 1.1 定义 要求&#xff1a; 1&#xff09;同一作用域内 2&#xff09;函数名相同 3&#xff09;形参表不同&#xff08;与形参个数及每个形参类型有关&#xff0c;与形参名无关&#xff09; 重载关系的函数调用哪个&#xff1a; 根据实参类型和形参类型进行匹配&…

降采样方法对NCC得分的影响因素评估

定位算法原理 关于不同的定位场景,最适合使用的算法原理,Halcon的原理文档中描述如下: 在图案缩放可用忽略,图案纹理丰富的场景,适合采用基于互相关的匹配。 输入参考图像,搜索图像,参考图像在搜索图像上滑动,得到滑动位置的NCC得分。如下图所示,高于阈值的最亮的地…

基于循环神经网络长短时记忆(RNN-LSTM)的大豆土壤水分预测模型的建立

Development of a Soil Moisture Prediction Model Based on Recurrent Neural Network Long Short-Term Memory in Soybean Cultivation 1、介绍2、方法2.1 数据获取2.2.用于预测土壤湿度的 LSTM 模型2.3.土壤水分预测的RNN-LSTM模型的建立条件2.4.预测土壤水分的RNN-LSTM模型…

后端项目-自定义接口响应结果设计JsonResult

文章接上文&#xff1a;后端接口增删改查 上文中返回的值是string格式&#xff0c;明显是不合适。 一般情况下&#xff0c;我们返回给前台的都是对象格式&#xff0c;结合添加在类上添加RestController注解&#xff0c;标记此类中所以的处理请求的方法都是响应正文的&#xff…

dp中最短编辑距离的笔记(分析dp)

dp分析往往就是看最后一步的变化。 分析&#xff1a; 设a串长度为i&#xff0c;b串长度为j。题目要求为通过三种操作将a字符串转化为b字符串的最少次数。 删除操作&#xff1a; 把a[i]删除后a[1~i]和b[1~j]匹配&#xff0c;所以可以得到f[i - 1][j] 1&#xff0c;在此之前要先…

Crocoddyl: 多接触最优控制的高效多功能框架

系列文章目录 前言 我们介绍了 Crocoddyl&#xff08;Contact RObot COntrol by Differential DYnamic Library&#xff09;&#xff0c;这是一个专为高效多触点优化控制&#xff08;multi-contact optimal control&#xff09;而定制的开源框架。Crocoddyl 可高效计算给定预定…

java minio通过getPresignedObjectUrl设置(自定义)预签名URL下载文件的响应文件名之minio源码改造方案

Minio预签名URL自定义响应文件名之Minio源码改造 需求说明Minio源码改造一、环境准备二、下载Minio源代码三、修改源代码1.修改cmd目录下的api-router.go这个代码文件2.将filename参数值设置到响应头4.修改验证签名时是否需要带入filename参数验证 四、大功告成&#xff0c;编译…

外包干了一个月,技术有明显提升。。。。。

先说一下自己的情况&#xff0c;本科生生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近2年的功能测试&#xff0c;今年国庆&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试…

百度地图中显示红点

initMap(longitude, latitude) {var map new BMapGL.Map("container");// 创建地图实例if (longitude null || latitude null) {var point new BMapGL.Point(111.1480354849708, 37.5262978563336);var marker new BMapGL.Marker(point);map.addOverlay(marker)…

003 Windows用户与组管理

Windows用户管理 一、用户账户 1、什么是用户账户 不同用户身份拥有不同的权限每个用户包含了一个名称和一个密码每个用户账户具有唯一的安全标识符查看系统中的用户 net user 安全标识符&#xff08;SID&#xff09; whoami /user 使用注册表查看 打开注册表命令regedi…

visual studio 2019 移除/卸载项目已经如何再加载项目

文章目录 移除解决方案下的某个项目添加已移除的项目移除项目加载已卸载的项目注意事项 移除解决方案下的某个项目 在项目名称上&#xff0c;点击鼠标右键&#xff0c;弹出右键工具栏&#xff0c;找到 移除 功能。 然后鼠标左键点击 移除。 弹出的模态框&#xff0c;选择确定…

深度学习记录--随机初始化

权重 权重&#xff0c;指的是变量系数w&#xff0c;决定了变量的变化率 它会改变dw&#xff0c;进而改变下一轮的w(改变更新) 神经网络的权重 对于神经网络(含隐藏层) 由于权重的对称性&#xff0c;我们的隐层的神经单元输出始终不变&#xff0c;出现隐藏神经元的对称性 …

代码随想录刷题题Day15

刷题的第十五天&#xff0c;希望自己能够不断坚持下去&#xff0c;迎来蜕变。&#x1f600;&#x1f600;&#x1f600; 刷题语言&#xff1a;C Day15 任务 ● 513.找树左下角的值 ● 112. 路径总和 113.路径总和ii ● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历…

创建conan包-打包方法

创建conan包-打包方法 1 1 config (1 build) -> 1 package2 N configs -> 1 package2.1 Warning2.2 N configs -> 1 package2.3 N - 1 示例代码2.4 创建N - 1示例包2.5 Important 3 N configs (1 build) -> N packages 本文是基于对conan官方文档Packaging Approac…

Qlik Sense 之什么是Dimensions维度和Measures度量

Dimensions 维度 | Windows 版 Qlik Sense帮助https://help.qlik.com/zh-CN/sense/May2023/Subsystems/Hub/Content/Sense_Hub/Dimensions/dimensions.htm Dimensions determine how the data in a visualization is grouped. For example: total sales per country or numbe…

微服务实战系列之ZooKeeper(下)

前言 通过前序两篇关于ZooKeeper的介绍和总结&#xff0c;我们可以大致理解了它是什么&#xff0c;它有哪些重要组成部分。 今天&#xff0c;博主特别介绍一下ZooKeeper的一个核心应用场景&#xff1a;分布式锁。 应用ZooKeeper Q&#xff1a;什么是分布式锁 首先了解一下&…

基于注解管理Bean --@Resource注入

基于注解管理Bean --Resource注入 Resource注解也可以完成属性注入。那它和Autowired注解有什么区别&#xff1f; Resource注解是JDK扩展包中的&#xff0c;也就是说属于JDK的一部分。所以该注解是标准注解&#xff0c;更加具有通用性。(JSR-250标准中制定的注解类型。JSR是Ja…

C# WPF上位机开发(树形控件在地图软件中的应用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们聊过图形软件的开发方法。实际上&#xff0c;对于绘制的图形&#xff0c;我们一般还会用树形控件管理一下。举个例子&#xff0c;一个地图…