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

[算法很美打卡] 多维数组篇 (打卡第二天)

文章目录

  • Z形打印
  • 边界为1的最大子方阵

Z形打印

在这里插入图片描述

package 每日算法学习打卡.算法打卡.七月份.七月二十七号;public class test1 {public static void main(String[] args) {int[][] matrix = {{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12},};print(matrix);}static void print(int[][] matrix) {int r = 0, m = matrix.length;int l = 0, n = matrix[0].length;boolean l2r = true;while (r < m && l < n) {if (l2r) {System.out.println(matrix[r][l] + " ");//如果在走上坡路if (r == 0 && l < n - 1) {l2r = !l2r;l++;continue;//如果已经走到末尾了,行号就进行减一操作} else if (r > 0 && l == n - 1) {l2r = !l2r;r++;continue;//其余的情况都是在走上坡路} else {r--;l++;}} else {//如果是在走下坡路System.out.println(matrix[r][l] + " ");//如果走到左边界的时候,就向下走一格if(l == 0 && r <m-1){l2r = !l2r;r++;continue;}else if( r == m-1){l2r = !l2r;l++;continue;}else{r++;l--;}}}}
}

边界为1的最大子方阵

在这里插入图片描述

package 每日算法学习打卡.算法打卡.七月份.七月二十七号;public class test2 {public static int solve(int[][] matrix, int N) {int n = N; // 阶数boolean flag = false;while (n > 0) {for (int i = 0; i < N; i++, flag = false) {if (i + n > N)break;for (int j = 0; j < N; j++, flag = false) {if (j + n > N)break;// 当前节点开始查看是否满足均为1int r = i, c = j;while (c < j + n) { // 往右走if (matrix[r][c] == 0) {flag = true;break;}c++;}if (flag) {continue;}c--; // 复原while (r < i + n) { // 往下走if (matrix[r][c] == 0) {flag = true;break;}r++;}if (flag) {continue;}r--;while (c >= j) { // 往左走if (matrix[r][c] == 0) {flag = true;break;}c--;}if (flag) {continue;}c++;while (r >= i) { // 往上走if (matrix[r][c] == 0) {flag = true;break;}r--;}if (flag) {continue;}r++;return n;}}n--;}return n; // 全是0,直接返回}public static void main(String[] args) {int[][] matrix = {{0, 1, 1, 1, 1},{0, 1, 0, 0, 1},{0, 1, 0, 0, 1},{0, 1, 1, 1, 1},{0, 1, 0, 1, 1}};int res = solve(matrix, 5);System.out.println("result: " + res);}}
http://www.lryc.cn/news/97999.html

相关文章:

  • K8S初级入门系列之十一-安全
  • 【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境6
  • “深入解析Spring Boot:从入门到精通“
  • [自然语言处理] 自然语言处理库spaCy使用指北
  • 【新日语(2)】第6課 拓哉もさしみを食べたがってします
  • uni-app 经验分享,从入门到离职(一)——初始 uni-app,快速上手(文末送书福利1.0)
  • Python爬虫实例之淘宝商品页面爬取(api接口)
  • 并发编程 | CompletionService - 如何优雅地处理批量异步任务
  • 医学案例|ROC曲线之面积对比
  • Kotlin线程的基本用法
  • 2.03 PageHelper分页工具
  • VUE中使用ElementUI组件的单选按钮el-radio-button实现第二点击时取消选择的功能
  • 瓴羊Quick BI:可视化大屏界面设计满足企业个性需求
  • 617. 合并二叉树
  • 【T1】存货成本异常、数量为零金额不为零的处理方法。
  • EtherNet IP转PROFINET网关连接西门子与欧姆龙方法
  • 低代码开发重要工具:jvs-flow(流程引擎)审批功能配置说明
  • [SQL挖掘机] - GROUP BY语句
  • 【ubuntu|内核】ubuntu 22.04修改内核为指定版本
  • Carla教程一:动力学模型到LQR
  • IDE/mingw下动态库(.dll和.a文件)的生成和部署使用(对比MSVC下.dll和.lib)
  • 点击加号添加新的输入框
  • SQL AND OR 运算符
  • 6、C++内存模型
  • 上海市青少年算法2023年1月月赛(丙组)
  • 移动开发之Wifi列表获取功能
  • MyBatisPlus - 实体类 的 常用注解
  • vue3+ts+elementui-plus二次封装树形表格实现不同层级展开收起的功能
  • Qt之切换语言的方法(传统数组法与Qt语言家)
  • qt root start faild