【LeetCode】每日一题 2023_12_1 找出叠涂元素(读题/数组/哈希)

文章目录

  • 刷题前唠嗑
  • 题目:找出叠涂元素
    • 题目描述
    • 代码与解题思路
  • 结语

刷题前唠嗑


LeetCode?启动!!!

新的一个月开始啦!这个月也要继续蝉联月度刷题!

题目:找出叠涂元素

题目链接:2661. 找出叠涂元素

题目描述

代码与解题思路

func firstCompleteIndex(arr []int, mat [][]int) int {mp := map[int][2]int{}n, m := len(mat), len(mat[0])for i := 0; i < n; i++ {for j := 0; j < m; j++ {// mp 存的键值对是 arr 数组的值 : 在 mat 中对应的下标mp[mat[i][j]] = [2]int{i, j} }}rowCnt, colCnt := make([]int, n), make([]int, m)for i, v := range arr {t := mp[v]rowCnt[t[0]]++colCnt[t[1]]++// 只要有一行或者一列填满了, 就直接返回 arr 下标if rowCnt[t[0]] == m || colCnt[t[1]] == n {return i}}return -1
}

读懂题意:

题目用 arr 数组中的值填充 mat

只要有一行或者一列满了就算达成题目条件,直接返回当前 arr 的下标

解题步骤:

  1. 用一个 map 存 arr 数组的值 : 在 mat 中对应的下标 这个键值对
  2. 然后用数组 rowCnt 代表一列,数组 colCnt 代表一行
  3. 遍历 arr,填充完一行或一列之后直接返回 arr 下标即可

举个例子:

题目给的样例 1,arr 遍历到 1 了,那 rowCnt 代表的列中的第一行填充数量+1,colCnt 代表的的一行中,第一列的填充数量+1

arr 遍历到 3 了,rowCnt 代表的列中的第二行填充数量+1,colCnt 代表的的一行中,第二列的填充数量+1

arr 遍历到 4 了,rowCnt 代表的列中的第一行填充数量+1,这一行填满了,所以直接返回 arr 的下标。

结语

周五了,嘿嘿,明天周末放假

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/197081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SD-WAN组网中的CPE及云服务CPE部署方法

什么是CPE&#xff1f; CPE全称为Customer Premises Equipment&#xff0c;即客户端设备&#xff0c;在SD-WAN中通常为路由器&#xff0c;部署在中心点和分支上&#xff0c;提供连接和路由、协议转换、流量监控等功能。一般可分为硬件CPE和虚拟化CPE&#xff08;virtual CPE&a…

python3实现比较两张图片的相似度,并检测图片内容是否发生明显变化

要比较两张图片的相似度&#xff0c;并检测图片内容是否发生明显变化&#xff0c;可以使用 Python 中的图像处理库如 OpenCV 和 scikit-image。这些库提供了计算图像相似度的功能。 使用 Python 的 scikit-image 库来比较两张图片的相似度。它采用结构相似性指数&#xff08;St…

python结构数据类型【侯小啾python基础领航计划 系列(六)】

python结构数据类型【侯小啾python领航计划 系列(六)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

关于使用百度开发者平台处理语音朗读问题排查

错误信息&#xff1a;"convert_offline": false, "err_detail": "16: Open api characters limit reach 需要领取完 识别和合成都要有

vscode里面使用vue的一些插件,方便开发

1、vue 2 Snippets &#xff08;vue语法提示&#xff09; vue提示这个也可以 1.1 Vue VSCode Snippets 2、vetur Vetur支持.vue文件的语法高亮显示&#xff0c;除了支持template模板以外 3、Element UI Snippets(饿了么的提示) 4、indent-rainbow&#xff08;缩进高亮提示) 5…

SQL Server 数据库,创建数据表

2.3表的基本概念 表是包含数据库中所有数据的数据库对象。数据在表中的组织方式与在电子表格中相似&#xff0c;都是 按行和列的格式组织的&#xff0c;每行代表一条唯一的记录&#xff0c;每列代表记录中的一个字段.例如&#xff0c;在包含公 司员工信息的表中&#xff0c;每行…

错误处理(9)

错误处理 1.用panic!处理不可恢复的错误1.1对应panic时的栈展开或终止1.2使用panic!的backtrace1.尝试访问超越vector结尾的元素&#xff0c;这会造成panic!2.当设置RUST_BACKTRACE环境变量时panic!调用所生成的backtrace信息 2.用Result处理可恢复的错误1.使用match表达式处理…

java并发-线程生命周期

文章目录 前言状态图状态变化说明补充说明 前言 线程的生命周期指的是线程从创建出来到最终消亡的整个过程&#xff0c;以及过程中的状态变化。 状态图 以下图用mermaid语法绘制&#xff1a; #mermaid-svg-32vKT6KmFdlYvCnr {font-family:"trebuchet ms",verdana,…

日期类 - Java

知道怎么查&#xff0c;怎么用即可&#xff0c;不用每个方法都背 日期类 第一代日期类方法演示 第二代日期类方法演示 第三代日期类前面两代日期类的不足分析第三代日期类常见方法方法演示 第一代日期类 Date类&#xff1a;精确到毫秒&#xff0c;代表特定的瞬间SimpleDateFor…

Redis缓存——Spring Cache入门学习

Spring Cache 介绍 Spring Cache 是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单地加一个注解&#xff0c;就能实现缓存功能。 Spring Cache 提供了一层抽象&#xff0c;底层可以切换不同的缓存实现&#xff0c;例如&#xff1a; EHCacheCaffeineR…

程序员世界破破烂烂,低代码总在缝缝补补

在经历了十几年的发展后&#xff0c;前端开发变得越来越复杂&#xff0c;门槛也越来越高&#xff0c;要使用当下流行的 UI 组件库&#xff0c;你必须懂 npm、webpack、react/vue&#xff0c;必须熟悉 ES6 语法&#xff0c;最好还了解状态管理&#xff0c;比如 Redux&#xff0c…

【IPv6】IPv6协议

一、IPv6数据报格式 这是与v4报头的对比 1.8bit的版本保留了&#xff0c;v4版本就是4&#xff0c;v6就是6。 2.v6去除了v4的首部长度字段&#xff0c;因为v6的首部长是固定的40字节。 3.服务类型&#xff08;Type of Service, ToS&#xff09;和通信类型&#xff08;Traffi…

Leetcode周赛374补题(3 / 3) - EA专场

不愧是EA的题&#xff0c;我最爱的模拟人生……好难&#xff0c;呜呜 目录 1、找出峰值 - 暴力枚举 2、需要添加的硬币的最小数量 - 思维 贪心 3、统计完全子字符串 - 滑窗 分组循环 1、找出峰值 - 暴力枚举 2951. 找出峰值 class Solution {public List<Integer> …

kubernetes监控GPA安装部署

本文在于指导如何对k8s的监控GPA(Grafana&#xff0c;prometheus以及alertmanager)进行安装部署。 1. 介绍 Prometheus 在真正部署Prometheus之前&#xff0c;应了解一下Prometheus的各个组件之间的关系及作用&#xff1a; 1&#xff09;MertricServer&#xff1a;是k8s集群…

Sentinel基础知识

Sentinel基础知识 资源 1、官方网址&#xff1a;https://sentinelguard.io/zh-cn/ 2、os-china: https://www.oschina.net/p/sentinel?hmsraladdin1e1 3、github: https://github.com/alibaba/Sentinel 一、软件简介 Sentinel 是面向分布式服务架构的高可用流量防护组件…

React 笔记 父子组件传值

React父子组件传值 react中的组件&#xff1a;解决HTML标签构建应用的不足。使用组件开发的好处&#xff1a;把公共的功能单独抽离成一个文件作为一个组件&#xff0c;哪里使用哪里引入。父子组件&#xff1a;组件的相互调用中&#xff0c;我们把调用者称为父组件&#xff0c;…

探究Logistic回归:用数学解释分类问题

文章目录 前言回归和分类Logistic回归线性回归Sigmoid函数把回归变成分类Logistic回归算法的数学推导Sigmoid函数与其他激活函数的比较 Logistic回归实例1. 数据预处理2. 模型定义3. 训练模型4. 结果可视化 结语 前言 当谈论当论及机器学习中的回归和分类问题时&#xff0c;很…

浅谈Python+requests+pytest接口自动化测试框架的搭建

框架的设计思路 首先要明确进行接口自动化需要的步骤&#xff0c;如下图所示&#xff1a; ​然后逐步拆解需要完成的工作&#xff1a; 1&#xff09;了解分析需求&#xff1a;了解接口要实现的功能 2&#xff09;数据准备&#xff1a;根据开发文档确定接口的基本情况&#x…

File.separator

File.separator代表系统默认文件目录分隔符&#xff0c;即我们所说的“斜线”。 在 windows 中 文件文件分隔符 用 ’ \ ’ 或者 ’ / ’ 都可以在 Linux 中&#xff0c;系统中分隔符为“/”&#xff0c;不识别 ’ \ ’ 例如&#xff1a; //在temp目录下建立一个test.txt文件…

Python + Appium框架原生代码实现App自动化测试

Step1&#xff1a;首先介绍下pythonappium的框架结构 如下截图所示 . (1)&#xff1a;apk目录主要放置待测app的apk资源&#xff1b; (2)&#xff1a;config目录主要放置配置文件信息&#xff0c;包含&#xff1a;数据库连接配置、UI自动化脚本中所需的页面元素信息及app启…