当前位置: 首页 > news >正文

网站建设金硕网络星链友店

网站建设金硕网络,星链友店,做网页和网站有什么区别吗,找人做的网站怎么目录前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本思考感悟写在最后前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识! 问题介绍 …

目录

  • 前言
  • 问题介绍
  • 解决方案
  • 代码编写
    • java语言版本
    • c语言版本
    • c++语言版本
  • 思考感悟
  • 写在最后

前言

当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批评指正~

在此感谢左大神让我对算法有了新的感悟认识!

问题介绍

原问题
给定int[][] arr 二维数组,转圈打印矩阵序列
如:
[12345678910111213141516]\begin{bmatrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \\ 9 & 10 & 11 & 12 \\ 13 & 14 & 15 & 16 \end{bmatrix}15913261014371115481216

打印结果:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10

解决方案

原问题
将打印过程拆解为两个步骤:
1、从外圈到内圈的过程为一个循环
2、转圈打印为一个循环
每一次外圈往内圈走一格时,向转圈方法传入(开头、宽度、高度)即可让转圈方法打印当前层

代码编写

java语言版本

原问题:

    /*** 二轮测试:转圈打印*/public static void spiralOrderPrintCp1(int[][] arr) {if (arr == null || arr.length == 0) {return;}// 横向int len = arr.length;// 纵向int len2 = arr[0].length;// 打印边界int boundR = len/2 + 1;int boundL = len2/2 + 1;int i = 0;int j = 0;while (i < boundR && j < boundL) {processCp(arr , i, j, len2, len);len-=2;len2-=2;i++;j++;}}/*** 二轮测试:打印一圈,支持长方形* @param arr* @param i 起点横坐标* @param j 起点纵坐标* @param wide 宽度* @param height 高度*/private static void processCp(int[][] arr, int i, int j, int wide, int height) {int i1 = i;int j1 = j;int wideBound = j + wide;int heightBound = i + height;// 横向while (j1 < wideBound) {System.out.println(arr[i1][j1]);j1++;}// j1此时超出去一个j1--;i1++;// 纵向while (i1 < heightBound) {System.out.println(arr[i1][j1]);i1++;}i1--;j1--;// 横向回while (j1 >= j) {System.out.println(arr[i1][j1]);j1--;}j1++;i1--;// 纵向回while (i1 > i) {System.out.println(arr[i1][j1]);i1--;}}public static void main(String[] args) {spiralOrderPrintCp1(new int[][]{{1,2,3},{5,6,7},{9,10,11},{13,14,15}});}

c语言版本

正在学习中

c++语言版本

正在学习中

思考感悟

矩阵的打印类型题目很多都是将整个复杂的过程拆解为几个单独的循环,循环预循环之间协作,通过入参进行通信。主要两个点:
1、过程拆解为几个小步骤可以使用循环实现
2、小步骤之间交互参数的确认

写在最后

方案和代码仅提供学习和思考使用,切勿随意滥用!如有错误和不合理的地方,务必批评指正~
如果需要git源码可邮件给2260755767@qq.com
再次感谢左大神对我算法的指点迷津!

http://www.khdw.cn/news/7999.html

相关文章:

  • 网站建设合同 简单今日新闻摘抄
  • 企业网站建设专业公司建网站流程
  • 一级做a视频在线观看网站网站推广做什么
  • 手机网站建设开发什么是新媒体运营
  • 网站备案能不能出现世界网络黄页推广软件哪个好
  • 河西做网站公司10条重大新闻事件
  • 网站建设视频 备份 反代网站策划方案案例
  • 判断网站seo网络推广教程
  • 动态网站开发教程pdf网站源码交易平台
  • html判断域名 然后再跳转到网站现在阳性最新情况
  • 帮境外赌场做网站是否有风险今日头条新闻
  • 网站开发公司起名微信营销神器
  • 网站建设炫彩图片百度合伙人官网app
  • wordpress+jetpack插件优化网站做什么的
  • 青岛网站上排名5118素材网站
  • 网站设计学什么专业北京营销推广网站建设
  • 四川和住房城乡建设厅网站百度关键词搜索排名代发
  • 网站怎么集成支付宝大的网站建设公司
  • 回收那个网站做推广好推广竞价的公司有哪些
  • 网络经营范围包括哪些seo在线培训机构排名
  • 长春哪家网络公司做网站专业杭州网站排名seo
  • 网站做效果图流程免费发外链平台
  • 今日佛山南海区疫情通报百度seo优化方法
  • 济南优化网站价格可以访问违规网站的浏览器
  • 网站页面跳转怎么做seo外包公司
  • 杭州做网站公司网站怎样优化文章关键词
  • 做信息网站要办icp证吗友链是什么
  • 镇江企业做网站大片网站推广
  • 做商品批发的网站一站式媒体发布平台
  • wordpress 会员函数seo技术306