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

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

文章目录

  • 顺时针打印二维数组
  • 0所在的行列清零

顺时针打印二维数组

在这里插入图片描述

package 每日算法学习打卡.算法打卡.七月份.七月二十六号;public class test1 {public static void main(String[] args) {int[][] matrix = {{1,2},{5,6},{9,10},{13,14},};print(matrix);}static void print(int[][] matrix){int leftUpRow =0,leftUpCol =0,rightDownRow = matrix.length-1,rightDownCol = matrix[0].length-1;while(leftUpRow<=rightDownRow && leftUpCol <= rightDownCol){int r = leftUpRow,c = leftUpCol;while(c<=rightDownCol){System.out.print(matrix[r][c++]+" ");}r++;c = rightDownCol;while(r<=rightDownRow){System.out.print(matrix[r++][c]+" ");}c--;r= rightDownRow;while(c>=leftUpCol){System.out.print(matrix[r][c--]+" ");}r--;c = leftUpCol;while(r>leftUpRow){System.out.print(matrix[r--][c]+" ");}leftUpCol++;leftUpRow++;rightDownCol--;rightDownRow--;}}
}

0所在的行列清零

在这里插入图片描述

package 每日算法学习打卡.算法打卡.七月份.七月二十六号;public class test2 {public static void main(String[] args) {int[][] matrix = {{1,2,3,4,100},{5,6,7,0,101},{9,0,11,12,102},{13,14,15,16,103},{104,105,106,106,108},};solve(matrix);for(int i =0;i<matrix.length;i++){for(int j =0;j<matrix[0].length;j++){System.out.print(matrix[i][j]+" ");}System.out.println();}}static void solve(int[][] matrix){//使用辅助数组来进行测试int M = matrix.length;int N = matrix.length;//记录哪些行出现了0int[] rowRecord = new int[M];int[] colRecord = new int[N];for(int i =0;i<M;i++){for(int j =0;j<N;j++){if(matrix[i][j] == 0){rowRecord[i] =1;colRecord[j] =1;}}}for(int row = 0;row < N;row++){for(int col = 0;col<M;col++){if(rowRecord[row] ==1 || colRecord[col] == 1){matrix[row][col] =0;}}}}}

相关文章:

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

文章目录 顺时针打印二维数组0所在的行列清零 顺时针打印二维数组 package 每日算法学习打卡.算法打卡.七月份.七月二十六号;public class test1 {public static void main(String[] args) {int[][] matrix {{1,2},{5,6},{9,10},{13,14},};print(matrix);}static void print(i…...

微服务系列(1)-who i am?

微服务系列&#xff08;1&#xff09;-我是谁 应用架构的演化 简单来说系统架构可以分为以下几个阶段&#xff1a;复杂的臃肿的单体架构-SOA架构-微服务 单体架构及其所面临的问题 在互联网发展初期&#xff0c;用户数量少&#xff0c;流量小&#xff0c;硬件成本高。因此…...

记录这这段时间发生的事情。

当做后端的时候总是被骂做前很丑。成为一个UI设计师与后端工程师才会更加完美。 尝试着做一个主页面。 创建了一个主页面 的表格index。 收录了希望发送到主页的&#xff0c;的帖子。 并且&#xff0c;可以填写是否可以。 一个看起来不错的主页。 标题设计的左右框。 这种框…...

发布npm包流程

发布npm包的步骤如下&#xff1a; 在终端中通过 npm init 命令创建一个新的npm包&#xff0c;按照提示填写包的信息&#xff0c;如包名称、版本、描述、作者、许可证等。 在包的根目录下创建一个 index.js 文件&#xff0c;编写你的代码。 确认你已经注册了npm账号&#xff0…...

面试官:Redis 为什么变慢了?怎么解决?

一、Redis为什么变慢了 二、Redis如何优化 三、Redis变慢了排查步骤 一、Redis为什么变慢了 1.Redis真的变慢了吗&#xff1f; 对 Redis 进行基准性能测试 例如&#xff0c;我的机器配置比较低&#xff0c;当延迟为 2ms 时&#xff0c;我就认为 Redis 变慢了&#xff0c;…...

Docker:开启应用程序开发新篇章的利器

Docker&#xff1a;开启应用程序开发新篇章的利器 引言&#xff1a;1. Docker 的基本概念2. Docker 的优势3. Docker 在应用程序开发中的实际应用如何创建docker镜像如何部署docker镜像结论&#xff1a; 引言&#xff1a; 在现代软件开发领域中&#xff0c;容器化技术正在迅猛…...

Python面向对象(三)(继承、封装)

面向对象的三大特性 面向对象编程&#xff0c;是许多编程语言都支持的一种编程思想。 简单理解是&#xff1a;基于模板&#xff08;类&#xff09;去创建实体&#xff08;对象&#xff09;&#xff0c;使用对象完成功能开发。 面向对象包含3大主要特性&#xff1a; 封装 封…...

Redis Stream 流的深度解析与实现高级消息队列【一万字】

详细介绍了 Redis 5.0 版本新增加的数据结构Stream的使用方式以及原理&#xff0c;如何实现更加可靠的消息队列。 文章目录 Stream 概述2 Stream基本结构3 存储数据3.1 Entry ID3.2 数量限制 4 获取数据4.1 范围查询4.2 独立消费消息4.2.1 非阻塞使用4.2.2 阻塞的使用 4.3 消费…...

一个灵活、现代的Android应用架构

一个灵活、现代的Android应用架构 学习Android架构的原则&#xff1a;学习原则&#xff0c;不要盲目遵循规则。 本文旨在通过示例演示实际应用&#xff1a;通过示范Android架构来进行教学。最重要的是&#xff0c;这意味着展示出如何做出各种架构决策。在某些情况下&#xff0…...

redis高级篇 springboot+redis+bloomfilter实现过滤案例

一 bloomfilter的作用 1.1 作用 Bloomfilter&#xff1a;默认是有0组成bit数组和hash函数构成的数据结构&#xff0c;用来判断在海量数据中是否存在某个元素。 应用案例&#xff1a;解决缓存穿透。Bloomfilter放在redis前面&#xff0c;如果查询bf中没有则直接返回&#xff…...

mybatis学习笔记之在WEB中应用MyBatis

文章目录 数据库表的设计和准备数据环境搭建前端页面编写后端代码实现后端代码目录dao层servicewebpojoUtils 数据库表的设计和准备数据 环境搭建 在pom.xml中配置依赖&#xff08;logback、mybatis、mysql、servlet&#xff09; 注意引入tomcat 前端页面编写 <!DOCTYPE …...

宿主可以访问公网 Docker容器里无法访问 Temporary failure in name resolution

宿主可以访问公网 Docker容器里无法访问 Temporary failure in name resolution 容器参数 docker-compose.yml 的 dns我也设置&#xff0c;按理来说应该可以访问&#xff0c;然而就是不断的按在地上摩擦 web:build: .restart: alwaysports:- "6699:80"dns:- 114.11…...

CentOS7系统MBR、GRUB2、内核启动流程报错问题

目录 &#x1f969;Linux启动流程 &#x1f969;MBR修复 &#x1f36d;1、模拟损坏 &#x1f36d;2、重启测试 &#x1f36d;3、修复MBR &#x1f36d;4、测试系统 &#x1f969;GRUB2修复 &#x1f36d;1、模拟损坏 &#x1f36d;2、修复GRUB2 &#x1f36d;3、测试系统 &…...

剑指YOLOv5改进最新MPDIoU损失函数(23年7月首发论文):超越现有多种G/D/C/EIoU,高效准确的边界框回归的损失,高效涨点

💡本篇内容:剑指YOLOv5改进最新MPDIoU损失函数(23年7月首发论文):超越现有多种G/D/C/EIoU,高效准确的边界框回归的损失,高效涨点 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv5 按步骤操作运行改进后的代码即可 💡:重点:该专栏《剑指YOLOv5原创改进》只更新…...

CAN bus off ——ISO11898

什么是can bus off&#xff1f; CAN总线关闭&#xff08;CAN bus off&#xff09;是指CAN节点进入一种错误状态&#xff0c;无法继续正常的数据通信。当一个CAN节点的错误计数器超过了设定的阈值时&#xff0c;该节点将进入CAN总线关闭状态。在这种状态下&#xff0c;该节点将停…...

如何评测一个大语言模型?

编者按&#xff1a;大型语言模型&#xff08;Large language models, LLMs&#xff09;因其在学术界和工业界展现出前所未有的性能而备受青睐。随着 LLMs 在研究和实际应用中被广泛使用&#xff0c;对其进行有效评测变得愈发重要。近期已有多篇论文围绕大模型的评测进行研究&am…...

React中useMemo和useCallback的区别

一句话来解释&#xff0c;useMemo是缓存值的&#xff0c;useCallback是缓存函数的。 一、useMemo&#xff1a; 接收两个参数&#xff0c;第一个参数是个函数&#xff0c;第二个是依赖项。返回一个memoized值&#xff0c;只有当它的某个依赖项改变时才重新计算 memoized 值&…...

SpringBoot 快速实现IP地址解析

如果使用本地ip 解析的话&#xff0c;我们将会借助ip2region&#xff0c;该项目维护了一份较为详细的本地ip 地址对应表&#xff0c;如果为了离线环境的使用&#xff0c;需要导入该项目依赖&#xff0c;并指定版本&#xff0c;不同版本的方法可能存在差异。 <dependency>…...

亚马逊、速卖通,阿里国际等平台测评如何用自养号测评补单

在电商领域&#xff0c;补单是一种常见的推广方式。它能够优化商品销售、留下优质评论、打压竞品和赶走跟卖等&#xff0c;具有很多好处。然而&#xff0c;补单也存在安全性问题&#xff0c;有些卖家找人补单后店铺反而出了问题。因此&#xff0c;了解测评系统是非常重要的的。…...

ubuntu挂载ext4文件系统

文章目录 1.虚拟机分配10G磁盘用来挂载ext4文件系统2.磁盘分区3.创建文件系统4.挂载文件系统5.卸载文件系统6.使用ior测试ext4三种日志模式&#xff08;1&#xff09;ordered&#xff08;2&#xff09;journal&#xff08;3&#xff09;writeback 1.虚拟机分配10G磁盘用来挂载e…...

从Clarke理论到Simulink模块:搞懂无线信道仿真中的‘经典谱’到底是怎么来的

从Clarke理论到Simulink模块&#xff1a;无线信道仿真中的经典多普勒谱解析 当你在Simulink中拖拽"瑞利衰落信道"模块时&#xff0c;是否曾好奇过参数面板里那个勾选"经典谱"的选项背后隐藏着怎样的物理图景&#xff1f;这个看似简单的复选框&#xff0c;实…...

STM32启动流程解析与嵌入式开发实践

1. STM32启动流程深度解析作为一名嵌入式开发者&#xff0c;我经常需要深入理解MCU的启动机制。今天我想分享STM32启动流程的详细分析&#xff0c;这是每个嵌入式工程师都应该掌握的核心知识。STM32的启动过程看似简单&#xff0c;实则包含了许多精妙的设计。理解这个过程不仅能…...

菜鸟的逆向工程学习之路——逆向工程基本介绍

菜鸟的逆向工程学习之路——逆向工程基本介绍 菜鸟的逆向工程学习之路——逆向工程基本介绍 逆向工程是一种分析目标系统的过程&#xff0c;旨在识别系统的各组件以及组件间关系&#xff0c;以便能够通过其他形式或在较高的抽象层次上&#xff0c;重建系统的表征。 逆向工程一直…...

手把手教你为RK3568(arm64)交叉编译BlueZ:利用Buildroot已有环境快速出包

手把手教你为RK3568&#xff08;arm64&#xff09;交叉编译BlueZ&#xff1a;利用Buildroot已有环境快速出包 在嵌入式Linux开发中&#xff0c;蓝牙协议栈BlueZ的交叉编译一直是让开发者头疼的问题。特别是当目标平台采用arm64架构时&#xff0c;依赖库的复杂性和工具链的配置难…...

Makie.jl实战案例:从科学计算到商业数据分析应用

Makie.jl实战案例&#xff1a;从科学计算到商业数据分析应用 【免费下载链接】Makie.jl Interactive data visualizations and plotting in Julia 项目地址: https://gitcode.com/gh_mirrors/ma/Makie.jl Makie.jl是Julia语言中一款强大的交互式数据可视化库&#xff0c…...

UE5蓝图实战:用JsonLibrary插件轻松搞定WebUI数据交互(附完整节点图)

UE5蓝图实战&#xff1a;用JsonLibrary插件轻松搞定WebUI数据交互 在虚幻引擎5的蓝图开发中&#xff0c;WebUI插件为开发者提供了强大的网页交互能力。然而&#xff0c;当涉及到前后端数据交换时&#xff0c;JSON格式的处理往往成为新手开发者的绊脚石。本文将带你深入探索Json…...

Windows 11 LTSC系统快速安装微软商店:3分钟完成完整解决方案

Windows 11 LTSC系统快速安装微软商店&#xff1a;3分钟完成完整解决方案 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore Windows 11 LTSC版本以其卓越…...

5个跨系统突破:Ext2Read让Windows无缝访问Linux分区的创新方案

5个跨系统突破&#xff1a;Ext2Read让Windows无缝访问Linux分区的创新方案 【免费下载链接】ext2read A Windows Application to read and copy Ext2/Ext3/Ext4 (With LVM) Partitions from Windows. 项目地址: https://gitcode.com/gh_mirrors/ex/ext2read 当运维工程师…...

从NVIDIA到昇腾:在JupyterLab里统一监控多品牌AI加速卡的实战记录

从NVIDIA到昇腾&#xff1a;在JupyterLab里统一监控多品牌AI加速卡的实战记录 当AI开发团队面临异构计算环境时&#xff0c;如何在一个统一的开发界面中监控不同品牌的加速卡性能&#xff0c;成为提升研发效率的关键痛点。本文将分享我们在JupyterLab中同时监控NVIDIA GPU和华为…...

Claude Computer Use:AI 操控电脑的革命性突破详解

Claude Computer Use:AI 操控电脑的革命性突破详解 引言 2024 年,Anthropic 公司推出了 Claude 3.5 Sonnet 模型,并首次引入了Computer Use(电脑使用)功能。这项技术标志着 AI 从单纯的对话助手向能够实际操作电脑的自主代理迈出了重要一步。本文将深入解析 Claude Comp…...