当前位置: 首页 > news >正文

力扣每日打卡 2176. 统计数组中相等且可以被整除的数对(简单)

力扣 2176. 统计数组中相等且可以被整除的数对 简单

  • 前言
  • 一、题目内容
  • 二、解题方法
    • 1. 暴力解法
    • 2.官方题解
      • 官方也是暴力解法


前言

这是刷算法题的第十三天,用到的语言是JS
题目:力扣 2176. 统计数组中相等且可以被整除的数对(简单)


一、题目内容

给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 k ,请你返回满足 0 < = i < j < n 0 <= i < j < n 0<=i<j<n n u m s [ i ] = = n u m s [ j ] nums[i] == nums[j] nums[i]==nums[j] ( i ∗ j ) (i * j) (ij) 能被 k k k 整除的数对 ( i , j ) (i, j) (i,j) 的 数目 。

示例 1:
输入:nums = [3,1,2,2,2,1,3], k = 2
输出:4
解释:
总共有 4 对数符合所有要求:

  • n u m s [ 0 ] = = n u m s [ 6 ] 且 0 ∗ 6 = = 0 ,能被 2 整除。 nums[0] == nums[6] 且 0 * 6 == 0 ,能被 2 整除。 nums[0]==nums[6]06==0,能被2整除。
  • n u m s [ 2 ] = = n u m s [ 3 ] 且 2 ∗ 3 = = 6 ,能被 2 整除。 nums[2] == nums[3] 且 2 * 3 == 6 ,能被 2 整除。 nums[2]==nums[3]23==6,能被2整除。
  • n u m s [ 2 ] = = n u m s [ 4 ] 且 2 ∗ 4 = = 8 ,能被 2 整除。 nums[2] == nums[4] 且 2 * 4 == 8 ,能被 2 整除。 nums[2]==nums[4]24==8,能被2整除。
  • n u m s [ 3 ] = = n u m s [ 4 ] 且 3 ∗ 4 = = 12 ,能被 2 整除。 nums[3] == nums[4] 且 3 * 4 == 12 ,能被 2 整除。 nums[3]==nums[4]34==12,能被2整除。

示例 2:
输入:nums = [1,2,3,4], k = 1
输出:0
解释:由于数组中没有重复数值,所以没有数对 (i,j) 符合所有要求。

提示:
1 < = n u m s . l e n g t h < = 100 1 <= nums.length <= 100 1<=nums.length<=100
1 < = n u m s [ i ] , k < = 100 1 <= nums[i], k <= 100 1<=nums[i],k<=100

二、解题方法

1. 暴力解法

代码如下(实例):

/*** @param {number[]} nums* @param {number} k* @return {number}*/
var countPairs_BaoLi = function(nums, k) {let count = 0const n = nums.lengthfor(let i = 0; i < n; i++)for(let j = i + 1; j < n; j++)if( nums[i] === nums[j] && ((i * j) % kk === 0) ) count++return count
}

2.官方题解

官方也是暴力解法

复杂度分析:

时间复杂度: O ( n 2 ) O(n^2) O(n2),其中 n n n n u m s nums nums 数组的长度。即为遍历数对并统计符合要求个数的时间复杂度。

空间复杂度: O ( 1 ) O(1) O(1)

链接:力扣本题官方题解
来源:力扣(LeetCode)

相关文章:

  • Docker使用、容器迁移
  • Vue实现版本检测与升级
  • 软件开发中的入静与禅定:探寻深度专注与灵感的源泉
  • 【人力资源管理系统】C#实现
  • Linux之基础命令
  • 笔记整理四
  • Java基础 4.18
  • ctfshow-大赛原题-web702
  • 基于WOA鲸鱼优化的NARMAX模型参数辨识算法MATLAB仿真,对比PSO优化算法
  • 云计算(Cloud Computing)概述——从AWS开始
  • 守护进程编程
  • 音视频之H.265/HEVC变换编码
  • kafka jdbc connector适配kadb数据实时同步
  • Uniapp调用native.js使用经典蓝牙串口通讯方法及问题解决
  • Web 前端包管理工具深度解析:npm、yarn、pnpm 全面对比与实战建议
  • 第五章 SQLite数据库:4、SQLite 进阶用法:常见的约束、PRAGMA 配置、数据操作
  • 微信小程序怎么分包步骤(包括怎么主包跳转到分包)
  • UE5 渲染视频
  • RAG 实战|用 StarRocks + DeepSeek 构建智能问答与企业知识库
  • 力扣刷题-热题100题-第35题(c++、python)
  • 周口一乡镇公务员“被老赖”,两年4场官司均败诉,市监局将线索移送公安厅
  • “90后”高层建筑返青春:功能调整的技术路径和运营考验
  • 俄总统助理:普京与美特使讨论了恢复俄乌直接谈判的可能性
  • 夜读丨囿于厨房与爱
  • 由重商主义观察世界现代化历程
  • 2025年两院院士增选工作启动,名额均不超过100名