3153. 所有数对中数位不同之和(24.8.30)

2024-08-30 07:36

本文主要是介绍3153. 所有数对中数位不同之和(24.8.30),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目

题目

你有一个数组 nums ,它只包含正整数,所有正整数的数位长度都相同。两个整数的数位不同指的是两个整数相同位置上不同数字的数目。请返回 nums 中所有整数对里,数位不同之和。

示例 1

输入:nums=[13,23,12]

输出:4

解释:
计算过程如下:

  • 13 和 23 的数位不同为 1。
  • 13 和 12 的数位不同为 1。
  • 23 和 12 的数位不同为 2。

所以所有整数数对的数位不同之和为 1 + 1 + 2 = 4 。

题目

示例 2:

输入:nums =[10,10,10,10]

输出:0

解释:

数组中所有整数都相同,所以所有整数数对的数位不同之和为 0。

提示

2<=nums.Length<=10^5

1<=nums[i]<10^9

nums 中的整数都有相同的数位长度。

解题思路

见代码

代码

class Solution {
public:long long sumDigitDifferences(vector<int>& nums) {int n=nums.size();//nums 中的整数都有相同的数位长度 int len=to_string(nums[0]).size();//数的位数  long long ans=0;vector<array<int,10>> cnt(len);/*此处相当于 cnt[数的位数][0~9的数字]对于例1而论:个  十1   32   31   2对于第 n 个数字的第 i 位而言,假设此位的数字时 a:cnt[i][a]的数表示为前 n 个数在 i 位出现的数字 a 的个数,即与此数的此位相同的数的个数对于此数的 i 位而言,n - cnt[i][a] 则表示不同的个数对于第 1 位而言,1 2 1,//第一个数为:0-0,即第一个数在第一位没有不同的个数//第二个数为:1-0,即第一个数在第一位有 1 不同的个数   //第三个数为:2-1,即第一个数在第一位有 1 不同的个数  */for(int i=0;i<n;i++){int num=nums[i];int wei=0;while(num){ans+=i-cnt[wei][num%10];cnt[wei++][num%10]++;num/=10;}}return ans;}
};

这篇关于3153. 所有数对中数位不同之和(24.8.30)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120188

相关文章

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还