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

相关文章

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年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

ural1009 数位dp

1009. K-based Numbers Time limit: 0.5 second Memory limit: 64 MB Let’s consider  K-based numbers, containing exactly  N digits. We define a number to be valid if its K-based notation doesn’

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

MyBatis 切换不同的类型数据库方案

下属案例例当前结合SpringBoot 配置进行讲解。 背景: 实现一个工程里面在部署阶段支持切换不同类型数据库支持。 方案一 数据源配置 关键代码(是什么数据库,该怎么配就怎么配) spring:datasource:name: test# 使用druid数据源type: com.alibaba.druid.pool.DruidDataSource# @需要修改 数据库连接及驱动u

linux中使用rust语言在不同进程之间通信

第一种:使用mmap映射相同文件 fn main() {let pid = std::process::id();println!(

Collection的所有的方法演示

import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class TestCollection {/*** @param args* Collection的所有的方法演示* 此程序没有使用泛型,所以可以添加任意类型* 以后如果写到泛型会补充这一方面的内容*/public s