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

【Leetcode 每日一题】2176. 统计数组中相等且可以被整除的数对

问题背景

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

数据约束

  • 1 ≤ n u m s . l e n g t h ≤ 100 1 \le nums.length \le 100 1nums.length100
  • 1 ≤ n u m s [ i ] , k ≤ 100 1 \le nums[i], k \le 100 1nums[i],k100

解题过程

这题数据范围不大,暴力枚举也能过。
一种更好的做法,是将值像等的元素都保存在链表中,遍历时就只需要判断能否整除了。

具体实现

class Solution {public int countPairs(int[] nums, int k) {int n = nums.length;int res = 0;ListNode[] map = new ListNode[110];for (int i = 0; i < n; i++) {ListNode cur = new ListNode(i);ListNode pre = map[nums[i]];if (pre != null) {cur.next = pre;}while (pre != null) {if (i * pre.index % k == 0) {res++;}pre = pre.next;}map[nums[i]] = cur;}return res;}
}class ListNode {int index;ListNode next;ListNode(int index) {this.index = index;next = null;}
}
http://www.xdnf.cn/news/1423.html

相关文章:

  • ubuntu磁盘挂载
  • MySQL GTID集合运算函数总结
  • e实例性能测评:Intel Xeon Platinum处理器,经济型入门级服务器
  • Java设计开发商城抢票功能
  • Sql刷题日志(day3)
  • 代码随想录算法训练营第二十天
  • 关于C语言的模拟物理模型
  • vue3 el-dialog新增弹窗,不希望一进去就校验名称没有填写
  • SQL刷题记录贴
  • Oracle测试题目及笔记(单选)
  • 赛灵思 XCVU3P‑2FFVC1517I XilinxFPGA Virtex UltraScale+
  • AI在市场营销分析中的核心应用及价值,分场景详细说明
  • 【创新实训个人博客】前端实现
  • 【运维学习】lvs + keepalived + 主从dns 项目搭建
  • Valgrind的使用复习
  • 更换 CentOS 7.9 的系统源
  • 【软考-系统架构设计师】ATAM方法及效用树
  • 【python】pyCharm常用快捷键使用-(2)
  • C++入门基础:命名空间,缺省参数,函数重载,输入输出
  • blender 录课键位显示插件(图文傻瓜式安装)
  • .net core 项目快速接入Coze智能体-开箱即用-全局说明
  • 数据结构之BFS广度优先算法(腐烂的苹果)
  • ARINC818-1协议
  • visual Studio+Qt插件检查内存泄漏
  • Azure 私有端点和存储帐户用例
  • 基于springboot医药连锁店管理系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 【论文精读】COLMAP-Free 3D Gaussian Splatting
  • vue入门:路由 router
  • [GESP202409 二级] 小杨的 N 字矩阵 题解
  • 《如何用 Function 实现动态配置驱动的处理器注册机制?》