牛客网(剑指offer) 第十九题 顺时针打印矩阵
题目描述
<?php
function printMatrix($matrix)
{
$left = 0;
$right = count($matrix[0])-1;
$top = 0;
$bottom = count($matrix)-1;
$list = [];while(($right>$left)&&($bottom>$top))
{for ($i = $left; $i <= $right; $i++){array_push($list, $matrix[$left][$i]);}for($i = $top+1; $i <= $bottom; $i++){array_push($list, $matrix[$i][$right]);}for($i = $right-1; $i >= $left; $i--){array_push($list, $matrix[$bottom][$i]);}for($i = $bottom-1; $i > $top; $i--){array_push($list, $matrix[$i][$left]);}$left++;$right--;$top++;$bottom--;
}if($top == $bottom && $left<$right)
{for($i = $left; $i<=$right; $i++){array_push($list, $matrix[$top][$i]);}
}if($top<$bottom && $left == $right)
{for($i = $top; $i<=$bottom; $i++){array_push($list, $matrix[$i][$left]);}
}if($bottom == $top && $right == $left)
{array_push($list, $matrix[$left][$top]);
}
return $list;}
牛客网(剑指offer) 第十九题 顺时针打印矩阵相关推荐
- 牛客网剑指offer编程实践1-10题
牛客网剑指offer编程实践1-10题 1.二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...
- 牛客网剑指offer编程实践41-50题
41.和为S的连续正数序列 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两 ...
- 牛客网剑指offer编程实践51-66题
51. 构建乘积数组 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1].不 ...
- 牛客网剑指offer编程实践31-40题
31. 整数中1出现的次数(从1到n整数中1出现的次数) 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12. ...
- 牛客网剑指offer编程实践21-30题
21.栈的压入.弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5, ...
- 牛客网剑指offer编程实践11-20题
11.二进制中1的个数 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 解答: 方法: 如果一个整数不为0,那么这个整数至少有一位是1.如果我们把这个整数减1,那么原来处在整数最右边 ...
- Day5.牛客网剑指offer 67题之43-54题(java代码)
文章目录 Day5.牛客网剑指offer 67题之43-54题 43.左旋转字符串 44.翻转单词顺序列 45.扑克牌顺序 46.孩子们的游戏 47.求1+2+...+n 48.不用加减乘除做加法 4 ...
- 剑指offer——面试题20:顺时针打印矩阵
剑指offer--面试题20:顺时针打印矩阵 Solution1: 可参考leetCode 54题的解法 书上的思路特别好,学习之~ class Solution { public:vector< ...
- Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer
剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...
- 牛客网剑指offer java 全部题解
经过数月的努力,终于更完了牛客网的66道剑指offer,以下的顺序和大家在牛客网的顺序是一样的(排序也花了不少时间),希望对大家找工作/提高算法能力能起到些许帮助. 每天一道剑指offer-二维数组中 ...
最新文章
- aws python sdk send sns_AWS:boto3订阅SNS时的空SQS队列
- toad dba suite for oracle 12.1,Toad for Oracle 12.1下载地址
- [译]React高级话题之Context
- 【Android开发】文本框、按钮、文本编辑框、提交登录、单选框
- java怎么把system.out的东西输出到文件上
- Linux网络监控工具nethogs
- 那些用Go实现的分布式事务框架
- C语言课后习题(31)
- 一步一步学习Servlet之ServletContext对象
- 预训练语言模型论文分类整理
- kafka 安装步骤
- 「无捆绑不锁页」极度纯净win10 32位专业版下载地址
- SEGGER RTT printf 的移植和浮点数处理
- Markdown 数学公式
- 【深度解局】佛慢你:张小龙的微信成功三字诀
- SVD分解和矩阵的Lipschitz条件等
- 华为手机支持鸿蒙,2021年华为智能手机全面升级支持鸿蒙2.0
- 《数据结构》实验二:线性表的实验(实验报告)
- HDMI设计2----EDID and E-EDID
- 第十章 决策树与随机森林