力扣刷题--1534. 统计好三元组【简单】

题目描述

给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。

如果三元组 (arri, arrj, arrk) 满足下列全部条件,则认为它是一个 好三元组 。

0 <= i < j < k < arr.length

|arri - arrj| <= a

|arrj - arrk| <= b

|arri - arrk| <= c

其中 |x| 表示 x 的绝对值。

返回 好三元组的数量 。

示例 1:

输入:arr = 3,0,1,1,9,7, a = 7, b = 2, c = 3

输出:4

解释:一共有 4 个好三元组:(3,0,1), (3,0,1), (3,1,1), (0,1,1)

示例 2:

输入:arr = 1,1,2,2,3, a = 0, b = 0, c = 1

输出:0

解释:不存在满足所有条件的三元组。

提示:

3 <= arr.length <= 100

0 <= arri <= 1000

0 <= a, b, c <= 1000

算法分析

暴力求解,三层for循环

完整代码

cpp 复制代码
class Solution {
public:
    int countGoodTriplets(vector<int>& arr, int a, int b, int c) {
        int count=0; 
        int n=arr.size();  
        for(int i=0;i<n;i++)  
        {
            for(int j=i+1;j<n;j++)  
            {
                for(int k=j+1;k<n;k++)  
                {
                    if((abs(arr[i]-arr[j])<=a)&&(abs(arr[j]-arr[k])<=b)&&(abs(arr[i]-arr[k])<=c))


                        count++;  
                }
            }
            
        }
        return count;  
    }
};

本篇完!

相关推荐
白狐_7982 分钟前
408 数据结构|红黑树 vs AVL:高频考点、易错判断与可能出题方式
数据结构·算法
zuozong_8 分钟前
C++类与对象
开发语言·c++·算法
hansang_IR12 分钟前
【代码】分层最短路模板
c++·算法·最短路
啊阿狸不会拉杆20 分钟前
《计算机网络-自顶向下方法》5.2 路由选择算法 读书笔记
计算机网络·算法·路由
rannn_11126 分钟前
【力扣hot100】多维动态规划|62、64、5、1143、72
算法·leetcode·动态规划
吴声子夜歌35 分钟前
ApacheCommons——commons-math3(科学计算与线性代数)(一)
java·线性代数·算法·apache
tachibana236 分钟前
Embedding 有哪几种算法?
人工智能·算法·ai·大模型·llm·embedding·agent
吴声子夜歌1 小时前
ApacheCommons——commons-configuration2(多数据源配置统一管理与热加载)
java·开发语言·算法·apache
kyle~1 小时前
奇异值分解(SVD)
人工智能·算法·机器学习
HugoStudio_SWAN1 小时前
洛谷 B4502 [GESP202603 四级] 礼盒排序——多关键字排序与排名计数法
算法