顺时针方向打印矩阵,该怎么处理
程序员文章站
2024-02-19 13:15:10
...
顺时针方向打印矩阵
http://blog.csdn.net/wusuopubupt/article/details/12788249
在这里看到的。
为啥输出结果是这样的呢?1 2 3 4 8 12 16 20 19 18 17 13 9 5 6 7 11 15 14 10
------解决方案--------------------
可能是因为每个数组的长度都相同才可以吧。 上下左右 不断的减1.
http://blog.csdn.net/wusuopubupt/article/details/12788249
在这里看到的。
/**
* @author:wusuopubupt
* @date:2013-10-16
* @from:http://ac.jobdu.com/problem.php?pid=1391
*
* Print matrix in clockwise
* */
$matrix = array
(
array(1,2,3,4),
array(5,6,7,8),
array(9,10,11,12),
array(13,14,15,16),
array(17,18,19,20)
);
print_matrix($matrix);
function print_matrix($arr) {
$top = 0;
$left = 0;
$right = count($arr[0])-1;
$bottom = count($arr)-1;
while ($left != $right && $top != $bottom) {
//top
for($j = $left; $j echo $arr[$top][$j]." ";
}
$top++;
//right
for($i = $top; $i echo $arr[$i][$right]." ";
}
$right--;
//bottom
for($j = $right; $j >= $left; $j--) {
echo $arr[$bottom][$j]." ";
}
$bottom--;
//left
for($i = $bottom; $i >= $top; $i--) {
echo $arr[$i][$left]." ";
}
$left++;
}
}
为啥输出结果是这样的呢?1 2 3 4 8 12 16 20 19 18 17 13 9 5 6 7 11 15 14 10
------解决方案--------------------
可能是因为每个数组的长度都相同才可以吧。 上下左右 不断的减1.
相关文章
相关视频
- 关于中英数字混的字串符分割问题_PHP教程
- 应用PHP标签模板实现什么任务_PHP教程
- php入门教程 精简版_PHP教程
- php4的session功能评述(三)_PHP教程
- 顺时针方向打印矩阵,该怎么处理
推荐阅读
-
求Discuz_X 1.5RC GBK版 跟 最土网utf8版本的用户整合,该怎么处理
-
苦于备份网站数据库相当麻烦,还要去ftp导出,所以问问,该怎么处理
-
ocilogon() function.ocilogon ocienvnlscreate() failed,该怎么处理
-
用phpexcel读取数据,数据溢出,该怎么处理
-
php排序1亿个QQ号码,该怎么处理
-
提交表单出现Notice: Undefined index: myfile,该怎么处理
-
一道关于microtime()的题目,该怎么处理
-
关于PHP的设计模式,该怎么处理
-
php代码混淆器2.0.0版 下载,该怎么处理
-
PHP5.2选哪个框架好呢?该怎么处理