首页 > 其他分享 >力扣每日一题 5/31

力扣每日一题 5/31

时间:2024-05-31 21:28:45浏览次数:26  
标签:下标 数字 31 缺失 力扣 grid ls 每日 dp

2965.找出缺失和重复的数字[简单]

 题目:

给你一个下标从 0 开始的二维整数矩阵 grid,大小为 n * n ,其中的值在 [1, n2] 范围内。除了 a 出现 两次b 缺失 之外,每个整数都 恰好出现一次 。

任务是找出重复的数字a 和缺失的数字 b 。

返回一个下标从 0 开始、长度为 2 的整数数组 ans ,其中 ans[0] 等于 a ,ans[1] 等于 b 。

 

示例 1:

输入:grid = [[1,3],[2,2]]
输出:[2,4]
解释:数字 2 重复,数字 4 缺失,所以答案是 [2,4] 。

示例 2:

输入:grid = [[9,1,7],[8,9,2],[3,4,6]]
输出:[9,5]
解释:数字 9 重复,数字 5 缺失,所以答案是 [9,5] 。

 

提示:

  • 2 <= n == grid.length == grid[i].length <= 50
  • 1 <= grid[i][j] <= n * n
  • 对于所有满足1 <= x <= n * n 的 x ,恰好存在一个 x 与矩阵中的任何成员都不相等。
  • 对于所有满足1 <= x <= n * n 的 x ,恰好存在一个 x 与矩阵中的两个成员相等。
  • 除上述的两个之外,对于所有满足1 <= x <= n * n 的 x ,都恰好存在一对 i, j 满足 0 <= i, j <= n - 1 且 grid[i][j] == x 。

 分析:

        由题可知,这道题只需要找出grid中重复的数字和一个确实的数据,只需要遍历一遍grid即可。思路:顶一个dp表,长度是n*n+1,初始化所有的数都是0,然后把下标为0的数标为-1,遍历grid,如果dp[i]等于0,则修改dp[i],否则i就是重复数字,最后遍历一遍dp,找等于0的下标,就是缺失的数据。具体代码如下:

class Solution:
    def findMissingAndRepeatedValues(self, grid: List[List[int]]) -> List[int]:
        n=len(grid)
        ls=[0]*(n**2+1)
        for i in grid:
            for j in i:
                if ls[j]==0:
                    ls[j]=j
                else:a=j
        ls[0]=-1
        for k in range(1,n**2+1):
            if ls[k]==0:
                b=k
        return [a,b]

总结:此题难度不大,代码可以顺利通过。还是那句话,题虽不难,但贵在坚持!

标签:下标,数字,31,缺失,力扣,grid,ls,每日,dp
From: https://blog.csdn.net/Xxy_1008/article/details/139361662

相关文章

  • 力扣--11.盛最多水的容器
    给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i,0) 和 (i,height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例1:输入:[1,8,6,2,5,4,8,3,......
  • 黑客团伙利用Python、Golang和Rust恶意软件袭击印国防部门;OpenAI揭秘,AI模型如何被用于
    巴黑客团伙利用Python、Golang和Rust恶意软件袭击印度国防部门!与巴基斯坦有联系的TransparentTribe组织已被确认与一系列新的攻击有关,这些攻击使用Python、Golang和Rust编写的跨平台恶意软件,针对印度政府、国防和航空航天部门。“这一系列活动从2023年底持续到2024年4月......
  • 每日一题28:数据操作之删除重复的电子邮件
    一、每日一题表: Person+-------------+---------+|ColumnName|Type|+-------------+---------+|id|int||email|varchar|+-------------+---------+id是该表的主键列(具有唯一值的列)。该表的每一行包含一封电子邮件。电子邮件......
  • 每日博客
    今天开发安卓端的科技政策一点通,相比于web端有点复杂,边查资料边敲代码一直弄到十一点。部分代码packagecom.example.policy;importandroid.content.Intent;importandroid.os.Bundle;importandroid.text.Editable;importandroid.text.TextWatcher;importandroid.vie......
  • Leetcode 力扣106. 从中序与后序遍历序列构造二叉树 (抖音号:708231408)
    给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。示例1:输入:inorder=[9,3,15,20,7],postorder=[9,15,7,20,3]输出:[3,9,20,null,null,15,7]示例2:输入:inorder=[......
  • Leetcode 力扣105. 从前序与中序遍历序列构造二叉树 (抖音号:708231408)
    给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例1:输入:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]输出:[3,9,20,null,null,15,7]示例2:输入:preorder......
  • html5,h5是什么?h5常用标签和标签的分类(2024-05-31)
    起源HTML(HypertextMarkupLanguage,超文本标记语言)诞生于20世纪90年代初,用于指定构建网页的元素,这些元素中的大多数都用于描述网页内容,如标题、段落、列表、指向其他网页的链接等。HTML5是HTML的最新版本,它的大部分内容都可以兼容新旧浏览器,并新增了大量新的功能。HTML5还引......
  • 31.MySQL数据库【一】基础介绍
    【一】数据库初识1)存储数据的演变过程基于内存保存文件操作json模块搭建TCP的客户端和服务端,TCP服务端用作存储服务,TCP客户端用于上传和下载数据存储数据的位置就是数据库2)数据库本质就是一块基于网络通信保存数据的应用程序3)数据库的介绍1.关联性数据库(存......
  • C语言练习题之——从简单到烧脑(11)(每日两道)
    题目1:有两个矩阵a[3][2],b[2][2],元素值由键盘输入,计算a与b的矩阵之和(两个矩阵循环中相加,结尾求和)#include<stdio.h>intmain(){ intarr[3][2],brr[2][2],i,j,sum1=0,sum2=0; for(i=0;i<3;i++) { for(j=0;j<2;j++) { scanf_s("%d",&arr[i][j]);......
  • ORA-600 2131故障处理---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:ORA-6002131故障处理作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]数据库启动报ORA-6002131错误,查看alert日志发现是在mount过程报错FriMay1720:58:282024Startin......