LeetCode 1534. 统计好三元组

ADC学习(3)——采样电路 第三章 采样电路 阅读详情

题目链接:LeetCode 1534. 统计好三元组

题意:

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

如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。

   0 <= i < j < k < arr.length
       | arr[i] - arr[j] | <= a
       | arr[j] - arr[k] | <= b
       | arr[i] - arr[k] | <= c

解题思路:

   由于数据范围给的小,所以直接暴力模拟

class Solution {

    /**
     * @param Integer[] $arr
     * @param Integer $a
     * @param Integer $b
     * @param Integer $c
     * @return Integer
     */
    function countGoodTriplets($arr, $a, $b, $c) {
        $n = count($arr);
        $ans = 0;
        for($i = 0; $i < $n-2; $i++) {
            for($j = $i+1; $j < $n-1; $j++) {
                for($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) {
                        $ans++;
                    }
                }
            }
        }
        return $ans;
    }
}

 进行剪枝,不满足第一个条件不再进行内层循环

class Solution {
 
    /**
     * @param Integer[] $arr
     * @param Integer $a
     * @param Integer $b
     * @param Integer $c
     * @return Integer
     */
    function countGoodTriplets($arr, $a, $b, $c) {
        $n = count($arr);
        $ans = 0;
        for($i = 0; $i < $n-2; $i++) {
            for($j = $i+1; $j < $n-1; $j++) {
            	if(abs($arr[$i]-$arr[$j]) <= $a) {
					for($k = $j+1; $k < $n; $k++) {
					    if(abs($arr[$j]-$arr[$k]) <= $b && abs($arr[$i]-$arr[$k]) <= $c) {
					        $ans++;
					    }
					}
            	}
            }
        }
        return $ans;
    }
}

 

MATLAB R2023a下载链接及软件安装教程 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。a是上半年,b是下半年版本,但是有些小弱们总是觉得只要是b一定功能多,这不一定的,同年版本b比a可能稍微全点,不同年的,比如21b,22a,肯定22a要比21b版本高功能多了。10、选择目标文件夹,默认的是C盘,想修改的话可以单击【浏览】,然后单击【下一步】 阅读详情

相关推荐

【SimPy系列博客之官方example学习与解读】—— Example 1: Bank Renege

Hello,优快云的各位小伙伴们,拖更了几年后,又重新开始记录这段时间准备学习的东西啦!最近博主在学习 SimPy 的相关知识,发现国内关于 SimPy 的介绍还是相对较少,且缺乏系统性,因此博主打算用1~2周的时间,边学边记,打算从 SimPy 官方给出的几个例子出发分析 SimPy 的使用场景和用法,希望能和大家互勉!那废话不多说,我们直接开始吧!今天要学习的例程是 Bank Renege。

凝望,划过星空的博客 2008

给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。 如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。

class Solution { public int countGoodTriplets(int[] arr, int a, int b, int c) { int count = 0; for(int i = 0;i < arr.length-2;i++){ for(int j = i+1;j < arr.length-1;j++){ for(int k = j+1;k < arr.leng

zylscxy的博客 675

蜻蜓fm爬虫python

本文介绍了一个用于下载蜻蜓FM音频书籍的Python脚本实现。该脚本主要功能包括:1)通过账号密码登录获取认证信息;2)从目标书籍主页提取版本信息;3)获取书籍节目总数和分页信息;4)生成节目下载链接(使用HMAC-MD5加密算法生成请求签名);5)下载音频文件并保存。脚本采用多种反爬措施:设置User-Agent模拟浏览器行为、使用动态时间戳、HMAC-MD5签名验证等,有效规避简单的反爬机制。整个流程包括登录认证、获取书籍信息、生成下载链接和保存音频文件四个步骤,实现自动化批量下载功能。

野猫炫的博客 912

Leetcode 982:按位与为零的三元组(超详细的解法!!!)

给定一个整数数组 A,找出索引为 (i, j, k) 的三元组,使得: 0 &amp;lt;= i &amp;lt; A.length 0 &amp;lt;= j &amp;lt; A.length 0 &amp;lt;= k &amp;lt; A.length A[i] &amp;amp; A[j] &amp;amp; A[k] == 0,其中 &amp;amp; 表示按位与(AND)操作符。 示例: 输入:[2,

coordinate的博客 1859

LightTools中VBA宏的编写入门

LightTools和VBA联动

bestgamer的博客 2348

SYSU-MM01数据集评估避坑指南:从RGB/IR图像理解到Python评估脚本调优

本文详细解析了SYSU-MM01数据集在跨模态行人重识别(ReID)评估中的关键技巧与常见陷阱。从RGB/IR图像理解到Python评估脚本优化,提供了数据评估模式选择、single-shot/multi-shot差异分析、特征文件处理规范等实用指南,帮助研究者避开指标异常问题,提升评估效率与准确性。

weixin_29044713的博客 196

leetcode—6241.数组中不等三元组的数目

LeetCode刷题6241

yunchen523的博客 486

ICC2 实战秘籍:create_workspace 命令全解析

必选项:工作区名称,这可是创建工作区的 “身份证”,必不可少。技术数据选项匹配:优先考虑用 -technology 直接加载技术文件,这是获取最新、最准确技术数据的首选路径;要是已经有合适的技术库了,那 -use_technology_lib 引用现有技术库也能快速上手。精度设置优先规则:技术文件自动配置排在第一位,能自动适配就别手动操心;要是自动配置不理想,那就显式指定 scale_factor;实在没要求,就用默认配置,但得清楚它的精度限制。

weixin_50820814的博客 1124

leetcode 2179 — 统计数组中好三元组数目

统计数组中好三元组数目一、题目描述二、题目分析三、算法四、实现1、初步实现 一、题目描述 二、题目分析 这道题的暴力解法就是:枚举 nums1 中的每个元素,找到该元素在 nums2 中的位置,然后在 nums1 和 nums2 的剩余部分中寻找一个好二元组。不难发现,这样算法的复杂度为 O(n^3),不能满足我们的要求。上述算法的问题在于每次搜索都无法利用前面搜索过程得到的任何信息。 关键点1:nums2 中的元素如果被访问过,在后续访问时是不用处理的,因为这样的元素对在 nums1 和 nums2

coding-hwz 2323

用户行为数据分析 User Behavior Data from Taobao for Recommendation

一、提出问题 二、理解数据 数据来源 阿里云天池数据集:(https://tianchi.aliyun.com/dataset/dataDetail?dataId=649) 本文选取的数据集为UserBehavior.csv,共有5242880条数据。数据的具体类别如下表所示: 用户行为种类有四种,如下表所示 对于数据维度的说明如下: 在本文选取的2017年11月25日到2017年12月3日的时间范围内,不重复的用户数量为10202,不重复的商品ID数为412369,不重复的商品类目ID数为5859,

cccxxxqq的博客 5206

操作系统知识点汇总(王道)

操作系统不论是就业还是升学都是核心的一门课程,对于大部分工科更是必修课程。本文章是对《王道操作系统》所有知识点的总结笔记,以供大家学习以及在备考期间复习使用。让我们一起把知识往脑子里旋好吗!!!......

S mile0804的博客 5万+

Leetcode | 1534 统计好三元组

更新思维:sum 是 std::vector<int>(1001, 0),即 1001个值为0的数组,每当读入1个 arr[j],表示从下标 k = arr[j] 开始,sum 中的值均要+1,也就是在sum中,下标0~(k-1)对应的值没有增加,因为当前 arr[j] 并不小于 0~k-1,而当 下标 >= k(arr[j])时,arr[0]~arr[j] 中数值<=下标的个数才会增加。解释:一共有 4 个好三元组:[(3,0,1), (3,0,1), (3,1,1), (0,1,1)]。

RandyOliver's House 539

路径规划 | 图解RRT*算法(附ROS C++/Python/Matlab仿真)

RRT*算法针对传统RRT算法进行了渐进最优改进,在添加节点到搜索树的过程中进行重连选择。本文图解RRT*算法原理,并采用ROS C++、Python、Matlab三种语言实现算法,加深理解

FRIGIDWINTER的博客 9405

#力扣 LeetCode1534. 统计好三元组 @FDDLC

题目描述: 1534. 统计好三元组 - 力扣(LeetCode) (leetcode-cn.com) Java代码: class Solution { public int countGoodTriplets(int[] arr, int a, int b, int c) { int answer=0; for(int i=0;i<arr.length;i++) for(int j=i+1;j<arr.length;.

LiuXingchang的博客 430

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

力扣Leetcode第1534题,统计好三元组的Python解法

Description 给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。 如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。 0 <= i < j < k < arr.length |arr[i] - arr[j]| <= a |arr[j] - arr[k]| <= b |arr[i] - arr[k]| <= c 其中 |x| 表示 x 的绝对值。 返回 好三元组的数

weixin_43955866的博客 1283

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

力扣每日打卡 1534. 统计好三元组 (简单)

这是刷算法题的第十二天,用到的语言是JS 题目:力扣 1534. 统计好三元组 (简单)

2301_79369384的博客 1009

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

leetcode刷题笔记:1534.统计好三元组

给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组。其中 |x| 表示 x 的绝对值。返回 好三元组的数量。

2403_87019412的博客 669

LeetCode 1534.统计好三元组:系列题之-easy等级先模拟

LeetCode 1534.统计好三元组:系列题之-easy等级先模拟 给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。 如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。 0 <= i < j < k < arr.length |arr[i] - arr[j]| <= a |arr[j] - arr[k]| <= b |arr[i] - arr[k]| <= c 其中 |x| 表示 x 的绝对值。

<font color="Pink">Tisfy的博客</font> 993

统计好三元组LeetCode1534

总不能再去把j前面的arr遍历一遍吧,这样不又成n^3规模的复杂度了吗,而根据arr[j],arr[k]能得到什么呢,能得到arr[i]的范围,arr[i]的最小值minVal一定是{0, arr[j] - a, arr[k] - c}中最大的,arr[i]的最大值maxVal一定在{1000, arr[j] + a, arr[k] + c}中最小的,因为是取交集,而arr[i]只要在[minVal,maxVal]这个范围内的都可以选入进去。请你统计其中好三元组的数量。满足下列全部条件,则认为它是一个。

K08e_824的博客 337

力扣1534.统计好三元组

算法刷题-左维护右枚举 lc1534

2301_80219163的博客 306

LeetCode-1534. 统计好三元组【数组 枚举】

如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组。解释:一共有 4 个好三元组:[(3,0,1), (3,0,1), (3,1,1), (0,1,1)]。输入:arr = [3,0,1,1,9,7], a = 7, b = 2, c = 3。输入:arr = [1,1,2,2,3], a = 0, b = 0, c = 1。如何统计l

zik的博客 1012

【Leetcode 每日一题 - 补卡】1534. 统计好三元组

Leetcode 每日一题补卡 - 统计好三元组

冠位优化 1202

1534. 统计好三元组--LeetCode

一共有 4 个好三元组:[(3,0,1), (3,0,1), (3,1,1), (0,1,1)]。请你统计其中好三元组的数量。满足下列全部条件,则认为它是一个。不存在满足所有条件的三元组。

2401_84341430的博客 369

leetcode 1534. 统计好三元组 简单

一共有 4 个好三元组:[(3,0,1), (3,0,1), (3,1,1), (0,1,1)]。请你统计其中好三元组的数量。满足下列全部条件,则认为它是一个。不存在满足所有条件的三元组。

2401_88085478的博客 196

leetcode:1534. 统计好三元组(python3解法)

leetcode:1534. 统计好三元组(python3解法)

qq_41905051的博客 452
上一篇: LeetCode 332. 重新安排行程
下一篇: LeetCode 1535. 找出数组游戏的赢家
error0318
博客等级 码龄9年 57粉丝 515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值