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

【优选算法】有效三角形的个数(双指针算法)

优质专栏:算法_云边有个稻草人的博客-CSDN博客

目录

【611. 有效三角形的个数 - 力扣(LeetCode)】

  解法一:

  解法二:


【611. 有效三角形的个数 - 力扣(LeetCode)】

  解法一:

三层for循环枚举出所有三元组,判读每组是否能构成三角形,会超时,但是我们可以再优化一下:先对数组进行排序,只需判断三元组中最小的两个数是否大于第三个数即可,省略有一些不必要的判断。
class Solution {
public:int triangleNumber(vector<int>& nums) {// 1. 排序sort(nums.begin(), nums.end());int n = nums.size(), ret = 0;// 2. 从⼩到⼤枚举所有的三元组for (int i = 0; i < n; i++) {for (int j = i + 1; j < n; j++) {for (int k = j + 1; k < n; k++) {// 当最⼩的两个边之和⼤于第三边的时候,统计答案if (nums[i] + nums[j] > nums[k])ret++;}}}return ret;}
};

  解法二:

时间复杂度为O(N)。 

class Solution 
{
public:int triangleNumber(vector<int>& nums) {//1.先对数组进行排序sort(nums.begin(),nums.end());//2.利用双指针解决问题int ret = 0,n = nums.size();for(int i = n-1;i>=2;i--)//固定最大的那个数{int left = 0,right = i-1;while(left < right){if((nums[left]+nums[right])>nums[i]){ret += right-left;right--;}elseleft++;}}return ret;}
};

完——


明天继续。。。

相关文章:

【优选算法】有效三角形的个数(双指针算法)

优质专栏&#xff1a;算法_云边有个稻草人的博客-CSDN博客 目录 【611. 有效三角形的个数 - 力扣&#xff08;LeetCode&#xff09;】 解法一&#xff1a; 解法二&#xff1a; 【611. 有效三角形的个数 - 力扣&#xff08;LeetCode&#xff09;】 解法一&#xff1a; 三层for…...

中介者模式(Mediator Pattern)、桥接模式(Bridge Pattern) 和 策略模式(Strategy Pattern)

中介者模式&#xff08;Mediator Pattern&#xff09;、桥接模式&#xff08;Bridge Pattern&#xff09; 和 策略模式&#xff08;Strategy Pattern&#xff09; 都是常见的设计模式&#xff0c;它们解决不同类型的问题。我们将通过 Swift 示例来说明它们的使用场景&#xff0…...

客户案例:基于慧集通打通聚水潭电商ERP与用友U8系统集成之路

一、引言 本原型客户是 生物科技公司&#xff0c;其公司系列抗菌抗病毒产品广泛应用于医疗用品、纺织服饰、家纺用品、母婴护理、女性用品、个人防护等多个领域。在知识产权方面&#xff0c;公司在专业领域已获得商标和专利近百项&#xff0c;创新能力得到了国家及行业内普遍认…...

阿里云clb是什么

传统型负载均衡服务 ‌阿里云CLB&#xff08;Classic Load Balancer&#xff09;是阿里云提供的一种传统型负载均衡服务&#xff0c;主要用于将访问流量根据转发策略分发到后端多台云服务器。‌‌ CLB的定义和功能 CLB是一种流量分发控制服务&#xff0c;通过设置虚拟服务地…...

【Cursor编辑器】自用经验和实操(迭代更新)

1.启动composer crtl I 2.生成直接一直问加载 3. 实操 生成个知识图谱&#xff0c;使用csv文件里面的数据创关系和节点。...

【学习笔记】ChatGPT原理与应用开发——基础科普

HuggingLLM&#xff08;ChatGPT原理与应用开发&#xff09; 原文链接&#xff1a;HuggingLLM&#xff08;ChatGPT原理与应用开发&#xff09;-课程详情 | Datawhale 此处仅为学习记录和总结 1&#xff1a;基础科普 1.1&#xff1a;自然语言背景 图灵测试 如果一个人&#x…...

基于Web的实验中心工作管理网站的设计与实现

写作任务 一、课题背景 实验中心承担了全校计算机公共基础课程和学院专业课程&#xff0c;需要对实验中心工作进行有效的管理。 二、课题任务 本课题设计和实现实验中心工作管理系统。 系统的主要内容包括&#xff1a; &#xff08;1&#xff09;人员管理&#xff1b; &am…...

docker 安装minio

docker pull minio/minio #启动 mkdir -p /root/minio/config mkdir -p /root/minio/datadocker run -d \--name minio \-p 9002:9000 \-p 9001:9001 \--restartalways \-v /root/minio/data:/data \-v /root/minio/config:/root/.minio \-e "MINIO_ACCESS_KEYminioadmin…...

ubuntu下ipmi的使用(4028)

参考ubuntu系统下配置IPMI_ubuntu ipmi-CSDN博客 参考&#xff1a;ipmitool ubuntu 安装_ipmi centos ubuntu使用总结-CSDN博客 1.安装 sudo apt-get -y install ipmitool 2.加载 modprobe ipmi_msghandlermodprobe ipmi_devintfmodprobe ipmi_si 3.使用,查看不到的话&am…...

周记-唐纳德的《计算机程序设计艺术》

用代码生成代码 开发一个协议&#xff0c;字段有些多&#xff0c;每个字段是QT的属性&#xff0c;需要写Q_PROPERTY&#xff0c;一个一个编辑的话比较繁琐&#xff0c;耗费时间。后来就用代码生成了头文件和源文件&#xff0c;get和set还有signal函数&#xff0c;内容基本都是…...

极品飞车6的快捷键与车辆等级

极品飞车&#xff0c;英文全称为Need for Speed&#xff0c;是EA公司于1994年开始研发的赛车类竞技游戏。从1996年的《极品飞车-特别版》、2002年的《极品飞车:闪电追踪2》、2005年的《极品飞车:地下狂飙2》、到2024年《极品飞车:集结》&#xff0c;是70后、80年、90年等几代人…...

计算机毕业设计Python+知识图谱大模型AI医疗问答系统 健康膳食推荐系统 食谱推荐系统 医疗大数据 机器学习 深度学习 人工智能 爬虫 大数据毕业设计

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

纯真社区版IP库CZDB数据格式使用教程

1. 概述 纯真社区版IP库是一种免费且公开的IP地理位置数据库&#xff0c;主要面向非商业用途。其最新推出的CZDB格式是一种全新的数据文件格式&#xff0c;自2024年10月起将成为官方维护和更新的唯一版本。该格式支持同时存储IPv4和IPv6地址信息&#xff0c;具备以下优点&…...

Linux(Centos 7.6)软件包安装

Linux软件安装&#xff0c;常见的有三种方式&#xff0c;rpm方式、yum方式、源码编译安装方式。其中rpm方式可能存在依赖方式&#xff0c;可能会比较麻烦&#xff1b;源码编译安装同样可能会缺少一些编译需要的软件需要安装&#xff0c;也会比较麻烦&#xff1b;相对比较好的方…...

[WASAPI]音频API:从Qt MultipleMedia走到WASAPI,相似与不同

[WASAPI] 从Qt MultipleMedia 来看WASAPI 最近在学习有关Windows上的音频驱动相关的知识&#xff0c;在正式开始说WASAPI之前&#xff0c;我想先说一说Qt的Multiple Media&#xff0c;为什么呢&#xff1f;因为Qt的MultipleMedia实际上是WASAPI的一层封装&#xff0c;它在是线…...

【畅购商城】微信支付之支付模块

目录 支付页面 接口 后端实现 前端实现​​​​​​​ ​​​​​​​支付页面 步骤一&#xff1a;创建 flow3.vue组件 步骤二&#xff1a;引入第三方资源&#xff08;js、css&#xff09; <script> import TopNav from ../components/TopNav import Footer from …...

网络安全专有名词详解_2

57.Webshell 就是以ASP、php、jsp、cgi等网页文件形式存在的一种命令执行环境&#xff0c;也叫做网页的后门&#xff0c;可以上传下载文件&#xff0c;查看数据库和执行任意的程序命令等。 58.跨站攻击 XSS&#xff0c;是指攻击者利用网站程序对用户输入过滤不足&#xff0c;输…...

【传感器技术与应用】第2章 基本电量传感器,电位器式传感器,电感式传感器,电容式传感器

注作者了解更多 我的其他CSDN专栏 毕业设计 求职面试 大学英语 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数…...

【day20】集合深入探讨

模块19回顾 在深入探讨模块20之前&#xff0c;让我们回顾一下day19中的关键内容&#xff1a; Collection集合&#xff1a;单列集合的顶级接口&#xff0c;提供了add、addAll、clear、size、isEmpty、remove、toArray、contains等方法。迭代器&#xff08;Iterator&#xff09…...

【英语语法】用must表对过去推测时,要用完成时must have been / must have done(不能直接用过去时)

文章目录 疑问解释1. 表达过去的推测2. 与时态一致3. 语法结构的限制4. 例子对比总结 疑问 This must have been a year-round activity as no structures have been found which would have been used to shelter animals in the winter. 为什么must表示对过去推测要用完成时&…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...