leetcode-11:1814. 统计一个数组中好对子的数目
创始人
2024-05-13 14:58:56
0

原题为:
给你一个数组 nums ,数组中只包含非负整数。定义 rev(x) 的值为将整数 x 各个数字位反转得到的结果。比方说 rev(123) = 321 , rev(120) = 21 。我们称满足下面条件的下标对 (i, j) 是 好的 :

  • 0 <= i < j < nums.length
  • nums[i] + rev(nums[j]) == nums[j] + rev(nums[i])

请你返回好下标对的数目。由于结果可能会很大,请将结果对 109 + 7 取余 后返回。
请添加图片描述
算法思路:(使用编程语言:Python)
不知道读者有没有仔细观看上述这个例子,42+79=97+24,细心点你就会发现为什么这个等式是成立的呢?原因在这:因为 97-79=18,42-24=18,所以上述等式成立,那么,这个算法题目就变得简单了哈!我们定义一个字典,然后遍历一下这个列表(数组),将原数-变化后的数取的值放到数组中用于计数,然后再遍历一下字典中的值,利用数学公式()最后即可获取最终结果。(描述可能不是很清楚,还是看代码吧!)

参考代码如下:

class Solution(object):def countNicePairs(self, nums):""":type nums: List[int]:rtype: int"""dict1 = {}for i in range(len(nums)):c = nums[i]-self.__rev(nums[i])dict1[c] = dict1.get(c,0) + 1count = 0for v in dict1.values():count += v*(v-1)//2return count%(10**9 + 7)def __rev(self,num):return int(str(num)[::-1])

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...