2006. Count Number of Pairs With Absolute Difference K(的绝对值为 K 的数对数目)————附带详细代码和解析

news/2024/9/23 7:34:03/

文章目录

  • 0 效果
  • 1 题目
  • 2 思路
    • 2.1 思路1
    • 2.2 哈希
  • 3 代码
    • 3.1 思路1
    • 3.2 思路2

0 效果

请添加图片描述

1 题目

在这里插入图片描述

2 思路

2.1 思路1

暴力枚举

2.2 哈希

数组(hash)统计向量中每个元素出现的个数,然后i从1到i+k<101开始遍历,结果集等于累加hash[i]*hash[i+k]的和。

3 代码

3.1 思路1

class Solution {
public:int countKDifference(vector<int>& nums, int k) {int n = nums.size();int ans = 0;for(int i = 0;i < n;i++){for(int j = i;j < n;j++){if(abs(nums[i] - nums[j]) == k) ans++;}}return ans;}
};

3.2 思路2

class Solution {
public:int countKDifference(vector<int>& nums, int k) {int hash[101];fill(hash, hash + 101, 0);for(int i = 0;i < nums.size(); i++){hash[nums[i]]++;}int ans = 0;for(int i = 1;i + k <= 100;i++){ans += hash[i]*hash[i + k];}return ans;}
};

http://www.ppmy.cn/news/289334.html

相关文章

解决Anaconda的python覆盖linux本地python版本

文章目录 1 问题复现2 问题解决 1 问题复现 出现这个问题的原因是&#xff0c;在linux上安装了Anaconda后&#xff0c;无论python软链接怎么建立&#xff0c;输入python&#xff0c;输出的永远都是Anaconda中的python3。现在想要做的是输入python使用的是linux自带的python版本…

CMake安装、配置编译C++代码(Mac、Linux)————附带详细步骤和代码

文章目录 0 背景1 安装CMake2 使用CMakefile.txt编译C程序 0 背景 因为需要使用cmake来进行跨平台编译&#xff0c;所以根据网上的资料学习和总结成此文。 1 安装CMake ## 1. 查看当前cmake版本 [rootlocalhost ~]# cmake -version cmake version 2.8.12.2 ## 2. 进行卸载 […

‘CMRESHandler‘ object has no attribute ‘_timer‘,socket.gaierror: [Errno 8] nodename nor servname pro

文章目录 1 错误重现2 解决3 调用方法写入es4 扩展 1 错误重现 在Mac上调用Python的CMRESHandler进行elasticsearch的日志写入时&#xff0c;遇到如下错误。一开始还以为是自己的语法出现了错误&#xff0c;排查出发现问题出在库中的代码上。在网上找了一圈都没有发现解决方案…

Ubuntu 18安装nerfstudio教程、踩坑记录

写在最前头&#xff01;&#xff01;&#xff01;配置nerfstudio需要cuda没有cuda请不用往下看了&#xff0c;cuda官方是要求11.3或者11.7我自己用的是阿里云的11.4亲测可用。 一、配置环境 安装anaconda3 去官网或者镜像下载anaconda3 的执行文件 官网&#xff1a;anaconda…

jQuery(一) 选择器

jQuery的基本设计思想和主要方法&#xff1a;选择某个网页元素&#xff0c;然后对其进行某种操作。 $(document) //选择整个文档 $(‘#myId’) //选择IDmyId的网页元素, 如果选择器中包含特殊字符&#xff0c;可以用两个饭反斜杠转义。 $(div.myClass) //选择class为…

Java中的注解

1 . 什么是注解 注解即元数据,就是源代码的元数据&#xff0c;注解在代码中添加信息提供了一种形式化的方法,可以在后续中更方便的 使用这些数据&#xff0c;Annotation是一种应用于类、方法、参数、变量、构造器及包声明中的特殊修饰符。 注解可以用来生成文档&#xff1b;跟…

Android自定义View——实现字母导航栏

思路分析 1、自定义View实现字母导航栏 2、ListView实现联系人列表 3、字母导航栏滑动事件处理 4、字母导航栏与中间字母的联动 5、字母导航栏与ListView的联动 效果展示 实现步骤 1、先看主布局&#xff0c;方便后面代码的说明 <?xml version"1.0" encoding…

二叉查找树(BST)专题

二叉查找树专题 二叉查找树的基本操作查找插入删除 二叉查找树的性质 代码来源&#xff1a;晴神《算法笔记》&#xff01;&#xff01; 二叉查找树的基本操作 查找 void search(node* root, int x){if(root NULL){printf("search failed\n");return;}if(root->…