Leetcode18-算术三元组的数目(2367)

1、题目

给你一个下标从 0 开始、严格递增 的整数数组 nums 和一个正整数 diff 。如果满足下述全部条件,则三元组 (i, j, k) 就是一个 算术三元组 :

i < j < k ,
nums[j] - nums[i] == diff 且
nums[k] - nums[j] == diff
返回不同 算术三元组 的数目。

示例 1:

输入:nums = [0,1,4,6,7,10], diff = 3
输出:2
解释:
(1, 2, 4) 是算术三元组:7 - 4 == 3 且 4 - 1 == 3 。
(2, 4, 5) 是算术三元组:10 - 7 == 3 且 7 - 4 == 3 。
示例 2:

输入:nums = [4,5,6,7,8,9], diff = 2
输出:2
解释:
(0, 2, 4) 是算术三元组:8 - 6 == 2 且 6 - 4 == 2 。
(1, 3, 5) 是算术三元组:9 - 7 == 2 且 7 - 5 == 2 。

提示:

3 <= nums.length <= 200
0 <= nums[i] <= 200
1 <= diff <= 50
nums 严格 递增。

2、解

对nums进行遍历,每个三元组即为{num[i]. nums[i] + diff, nums[i] + 2*diff}
寻找其是否存在每个元素对应的三元组中的后两个元素, 如果存在结果+1。

    int arithmeticTriplets(vector<int> &nums, int diff){int result = 0;for(int i = 0; i < nums.size(); i++){vector<int>::iterator mid = find((nums.begin() + i), nums.end(), nums[i] + diff);vector<int>::iterator last = find((nums.begin() + i + 1), nums.end(), nums[i] + 2*diff);if(mid != nums.end() && last != nums.end()){result++;}}return result;}

在这里插入图片描述
也可以先将nums通过哈希集合存储后进行查找

    int arithmeticTriplets(vector<int>& nums, int diff) {unordered_set<int> hashSet;for (int x : nums) {hashSet.emplace(x);}int ans = 0;for (int x : nums) {if (hashSet.count(x + diff) && hashSet.count(x + 2 * diff)) {ans++;}}return ans;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PR-视频去水印

文章目录 前言PR-视频去水印实现示例 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实在白嫖的话&#xff0c;那欢迎常来啊!!! PR-视频…

python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)

前言 当你需要统计训练数据中每个类别标签有多少&#xff0c;并且想知道坐标中心分布在图像的位置信息时&#xff0c;你可以利用一下脚本进行计算&#xff01; 步骤 要绘制热力图来分析VOC数据的分布统计&#xff0c;可以按照以下步骤进行&#xff1a; 数据处理&#xff1…

XCTF:MISCall[WriteUP]

使用file命令&#xff0c;查看该文件类型 file d02f31b893164d56b7a8e5edb47d9be5 文件类型&#xff1a;bzip2 使用bzip2命令可对该文件进行解压 bzip2 -d d02f31b893164d56b7a8e5edb47d9be5 生成了一个后缀为.out的文件 再次使用file命令&#xff0c;查看该文件类型 file…

LC17. 电话号码的字母组合

代码随想录 class Solution {String[] numString {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};List<String> res new ArrayList<…

[开发语言][python][c++]:C++中的this指针和Python中的Self -- 26岁生日

C中的this指针和Python中的Self 1. python中的Self2. C中的this指针3. C中的this指针和Python中self的异同点&#xff1a; 以朋友的新岁祝福开篇&#xff0c;祝笔者也祝大家☺️&#xff1a; 一岁一礼 一寸欢喜且喜且乐 且以永日​ From VardoZ癸卯年十一月廿六(兔年)之…

缓存代理服务器

1 缓存代理 1.1 缓存代理的概述 web代理的作用 缓存网页对象&#xff0c;减少重复请求 存储一些之前被访问的或且可能将要备再次访问的静态网页资源对象&#xff0c;使用户可以直接从缓存代理服务器获取资源&#xff0c;从而减少上游原始服务器的负载压力&#xff0c;加快整…

LeetCode刷题--- 地下城游戏

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述动…

Java基础 | 类和对象

Java基础 | 类和对象 类成员变量成员方法权限修饰符 局部变量final变量this关键字类的构造方法静态变量和静态方法static修饰符 类的主方法 对象对象的创建对象的引用 数据类型转换隐式类型转换显式类型转换 所有知识点均来源于《Java从入门到精通》&#xff08;第六版&#xf…

在软件测试过程中如何有效的开展接口自动化测试

一.简介 接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中&#xff0c;通过对接口的自动化测试来提高测试效率和测试质量&#xff0c;减少人工测试的工作量和测试成本&#xff0c;并且能够快速发现和修复接口错误&#…

最长回文数字

中心扩散 中心扩散就是从中心往外逐层扩散。以单个字符往两边扩散&#xff0c;如果两边字符相等则是回文串。扩散又分两种情况 分别是以该字符为中心&#xff0c;和以该字符和下一个字符的空隙为中心 let longestPalindrome2 function (s) {const n s.lengthif (n 1) retu…

如何保护linux服务器远程使用的安全

服务器安全是一个非常敏感的问题&#xff0c;因服务器远程入侵导致数据丢失的安全问题频频出现&#xff0c;一旦服务器入侵就会对个人和企业造成巨大的损失。因此&#xff0c;在日常使用服务器的时候&#xff0c;我们需要采取一些安全措施来保障服务器的安全性。 目前服务器系…

线程休眠、线程让步、线程优先级相关内容学习笔记

1、线程休眠 &#xff08;1&#xff09;sleep() 如果需要让当前正在执行的线程暂停一段时间&#xff0c;并进入阻塞状态&#xff08;Timed_Waiting)&#xff0c;则可以通过调用Thread类的静态sleep()方法来实现。 static void sleep(long millis)&#xff1a;让当前正在执行的线…

Shell编程--函数function

函数 1.定义函数2.调用函数2.1.取消函数2.2.其他脚本调用 3.函数传参 1.定义函数 函数声明&#xff1a; function_name () { list of commands } 函数名 function_name&#xff0c;这就是你将使用它从其他地方在你的脚本调用。 function (功能) 功能函数 计算机函数&…

C++ 异常处理

C++ 异常处理 实验介绍 所谓的异常便是程序中数据出现不合理的特殊情况处理,在做项目时我们常常需要想到的是特殊的情况,只有将所有的特殊情况处理好之后程序才能很好的运行。 那么异常处理跟多态有什么关系呢? C++ 标准库中已经存在异常处理类,并且就是使用了多态的方式…

Vue:多组件样式冲突问题解决

一、场景描述 我们在开发Vue项目的时候&#xff0c;会有很多的组件&#xff0c;每个组件里&#xff0c;可能都会写相应的样式&#xff0c;这时候就会出现在父组件引入子组件的时候&#xff0c;同名样式会冲突的问题。从而导致样式出问题。 二、解决办法 给style标签加上scop…

高效处理大数据集合:JavaStreamAPI

在当今数据驱动的世界中&#xff0c;处理大数据集合成为许多应用的核心需求。Java Stream API是Java 8及以后版本引入的一个强大工具&#xff0c;用于处理集合数据和数据流。它提供了一种简洁而高效的方式来操作和转换数据。在本文中&#xff0c;我们将探讨Java Stream API的基…

如何在IntelliJ IDEA中配置SSH服务器开发环境并实现固定地址远程连接

文章目录 1. 检查Linux SSH服务2. 本地连接测试3. Linux 安装Cpolar4. 创建远程连接公网地址5. 公网远程连接测试6. 固定连接公网地址7. 固定地址连接测试 本文主要介绍如何在IDEA中设置远程连接服务器开发环境&#xff0c;并结合Cpolar内网穿透工具实现无公网远程连接&#xf…

某mps政务网站jsl加速乐cookie逆向解析

本文针对的目标网站如下&#xff0c;使用base64解密获得 aHR0cHM6Ly93d3cubXBzLmdvdi5jbi8 开篇&#xff1a;加速乐其实算是比较好处理的逆向问题了&#xff0c;了解过的朋友都知道&#xff0c;其本身跟瑞数相似&#xff0c;都是设置cookie后才能成功&#xff0c;设置cookie的过…

Python a-shape点云重建(alpha shapes)

目录 一、环境配置二、代码实现三、结果示例接上篇: Python 泊松重建(Poisson Surface Reconstruction) 一、环境配置 使用 pip install open3d 语句来安装open3d 使用 pip install open3d 语句来安装numpy 二、代码实现 import open3d as o3d import numpy as npdef a_sh…

ChatGPT会给教育界带来怎样的冲击,又将与教育碰撞出怎样的火花?

11 月 7 日凌晨&#xff0c;美国人工智能公司 OpenAI 的开发者大会正式开启&#xff0c;创始人 Sam Altman 和其同事&#xff0c;发布了团队最新的成果GPT-4 Turbo&#xff0c;新一代的GPT不仅更快、有更长的上下文、而且更好的控制。而随之推出的「GPTs」——让人们能用自然语…