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

【优选算法】5----有效三角形个数

又是一篇算法题,今天早上刚做的热乎的~

其实我是想写博客但不知道写些什么(就水一下啦)

-------------------------------------begin-----------------------------------------

题目解析:

这道题的题目算是最近几道算法题里面题目最短的,但是单单看题目的话,我就只知道有一个数

组,需要我们去返回其中符合三角形特性的三条边,所以我们可以从示例入手,了解这道算法需要

我们去实现的地方~

讲解算法原理:

先说暴力解法吧,我们就需要用到三个for循环来进行遍历,时间复杂度为O(n^3),在力扣上面肯

定是编译不过的,所以在这个基础上,我们需要优化算法~

新思路:我们可以将所给数组先进行排序,排序成单调递增的数组,两个指针left和right,left指

针从位置0向右遍历,right从n-1位置向左遍历,分两种情况,两指针所指数的和大于位置i的值和

小于位置i的值,再定义一个ret变量,用于储存有效三角形的个数~

编写代码:

class Solution 
{
public:
    int triangleNumber(vector<int>& nums)  
    {
        sort(nums.begin(), nums.end());
        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--;
                }
                else
                {
                    left++;
                }
            }
        }
        return ret;
    }
};

差不多就是这个样子啦~

题目链接直达->

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

----------------------------------------end----------------------------------------


http://www.kler.cn/a/515147.html

相关文章:

  • 第14章:Python TDD应对货币类开发变化(一)
  • 重新理解tech lead角色
  • 25/1/22 算法笔记<ROS2> TF变换
  • nvm版本安装
  • 消息队列篇--原理篇--Pulsar和Kafka对比分析
  • Axios HTTP库基础教程:从安装到GET与POST请求的实现
  • python创建一个httpServer网页上传文件到httpServer
  • LightGBM算法
  • node安装与管理
  • Centos类型服务器等保测评整/etc/pam.d/system-auth
  • Typescript 多个泛型参数详细解读
  • HP 笔记本重新安装 Windows 11 无法启动
  • webrtc入门系列(五)amazon-kinesis-video-streams-webrtc-sdk-c编译
  • 【P2P】基于 Nebula 的 P2P 通信技术的虚拟局域网游戏设计方案
  • 低代码系统-产品架构案例介绍(四)
  • 【esp32小程序】小程序篇02——连接git
  • 大语言模型应用实践:性能与资源的权衡之道
  • Pytorch深度学习指南 卷I --编程基础(A Beginner‘s Guide) 第1章 一个简单的回归
  • Logo语言的网络编程
  • mac 电脑上安装adb命令
  • HackTheBox靶机:Sightless;NodeJS模板注入漏洞,盲XSS跨站脚本攻击漏洞实战
  • Chromium 132 编译指南 Mac 篇(四)- 获取源代码
  • 【Uniapp-Vue3】动态设置页面导航条的样式
  • 使用c#开发机器学习项目入门
  • java开发,IDEA转战VSCODE配置(mac)
  • 深入了解 Java 中的数组与字符串