有效三角形个数与和为s的两个数字

发布时间:2026/10/3 6:20:12

有效三角形个数与和为s的两个数字 五、有效三角形的个数给定一个包含非负整数的数组nums返回其中可以组成三角形三条边的三元组个数。示例题目要求返回所有数组中可以组成有效三角形的元素组合。最简单的解法就是暴力枚举列出所有组合记录下可以组成三角形的三元组个数。示例一的解析给出两次相同组合说明虽然两个元素值一样但是下标不一样也可以算作一组。直接套三层循环暴力过掉。代码:class Solution { public int triangleNumber(int[] nums) { int count0; for(int a0;anums.length;a){ for(int b1;bnums.length;b){ for(int c2;cnums.length;c){ while(ba){ b; } while(cb){ c; } if(cnums.length){ break; } if((nums[a]nums[b])nums[c]){ if ((nums[a]nums[c])nums[b]){ if ((nums[b]nums[c])nums[a]){ count; } } } } } } return count; } }但是肯定报错时间复杂度起步 O(n³) 必然超时。需要想一个更优解法。题目说明所有的用例都是非负整数那就可以给数组先排序再进行遍历。乱序数组很难找出规律而且最主要的原因在于不能移动因为保证不了移动后的整数大小。这里用一组暴力解法报错的例子找更优解。刚才说了乱序数组无法向不确定大小的位置移动寻找有效三角形所以先让数组排序。此时再基于三层循环的思路做优化。让三个指针分别指向数组左右侧如果写过盛水最多的容器题目那应该能想到用指针优化这题。我们固定 a 让 b 移动会发现两种情况。若是最小的数加上这个区间里最大的数依旧小于等于 C 那么 a 要向右移。反之这个区间里的数都不用算了全是有效三角形。完成一次循环后C 的位置向左移一格继续寻找有效三角形直到 C 移到2的位置。优化后的代码class Solution { public int triangleNumber(int[] nums) { int count0; Arrays.sort(nums); for(int inums.length-1;i2;i--){ int left0,righti-1; while(leftright){ if(nums[left]nums[right]nums[i]){ countright-left; right--; }else{ left; } } } return count; } }六、和为s的两个数字购物车内的商品价格按照升序记录于数组price。请在购物车中找到两个商品的价格总和刚好是target。若存在多种情况返回任一结果即可。这是一道简单题暴力解法依旧两层循环枚举同时肯定超时。代码class Solution { public int[] twoSum(int[] price, int target) { int[] arr{-1,-1}; for(int i0;iprice.length;i){ for(int j1;jprice.length;j){ if((price[i]price[j])target price[i]!price[j]){ arr[0]price[i]; arr[1]price[j]; } } } return arr; } }优化解法依旧采用双指针。由于数组升序排列降低了很多难度所以不用考虑这么多直接把指针放在左右两侧。等到和为 target 把这两个整数放到一个新数组里返回。代码class Solution { public int[] twoSum(int[] price, int target) { int left0,rightprice.length-1; while(leftright){ int sumprice[left]price[right]; if(sumtarget){ return new int[] {price[left],price[right]}; }else if(sumtarget){ right--; }else{ left; } } return new int[]{0}; } }注意一下如果返回值写在循环体里外边一定要再给一个返回值否则编译器会认为可能没有返回值从而报错。
延伸阅读

更多相关文章

2026/10/3 6:20:12

IEEE电力电子顶刊投稿实战:TPE/TTE审稿硬伤与修复指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 6:15:12

AI Agent 开发框架选型与工程实践:从框架对比到规模化落地

AI Agent 开发框架选型与工程实践:从框架对比到规模化落地 一、Agent 开发为什么需要框架 当一个 Agent 应用从"单次问答"走向"自主执行任务"时,代码复杂度会指数级上升。你需要管理循环控制(模型决定下一步做什么&#…

2026/10/3 6:15:12

把本地大模型接进内网:Ollama 加一层反向代理的最小可用配置

一个人在自己电脑上跑 Ollama,默认配置基本就够用了。麻烦出现在第二种场景:同一间办公室里四五个人,都想用同一台机器上的那张显卡。默认装完,Ollama 只监听 127.0.0.1:11434,也就是只有本机能访问。同事想用得先连你…

2026/10/3 7:10:14

Python 日志重复打印怎么排查?用 AI 从复现代码定位到最小修复

执行一次下单操作,终端却出现两条“订单创建成功”。 先别急着判断接口被调用了两次。在 Python 项目里,同一条日志可能经过不同的 Handler,被输出了两遍。如果直接把现象丢给 AI,让它“修复重复日志”,得到的建议可能…

2026/10/3 7:10:14

ESP32-S3驱动AI Agent落地物理世界

1. 从“能聊会算”到“能动手干活”:AI Agent 的物理世界分水岭你有没有试过让 AI 帮你订咖啡?它能秒回菜单、比价、下单——但当你指着厨房里那台老式滴滤咖啡机说“请帮我煮一杯”,它只会礼貌地沉默。这不是模型能力不足,而是它…

2026/10/3 7:10:14

嵌入式Linux 21天速成:从Bootloader到根文件系统的系统开发实战

看到《嵌入式Linux系统开发21天速成》这个书名时,我第一反应是“又来一本速成书”。飞凌嵌入式跟北京大学出版社联合出的,拿到样书翻完目录和编排逻辑后我发现,它实际在做的事情比我想象得实在:不是把内核源码从第一行讲到最后一行…

2026/10/3 7:05:13

DRV8818与PIC18F46K42步进电机驱动方案:从硬件搭建到加减速调试

做工业设备也好,做机器人项目也罢,步进电机几乎是绕不开的执行元件。双极步进电机本身只是一个功率器件,真正决定它能跑多快、走多准、发热多少的,是前面那套控制电路和算法。DRV8818PWPR 与 PIC18F46K42 的组合,就是我…

2026/10/2 8:16:46

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/2 18:20:53

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/3 0:04:31

国内大学生必备的AI写作辅助软件是哪款?

国内高校学生在论文写作过程中,越来越依赖AI辅助工具提升效率,主流方案以本土化全流程工具为核心,结合通用大模型与专业插件,覆盖选题构思、框架搭建、初稿撰写、查重降重、格式调整等关键环节,本文将深入解析当前主流…

2026/10/3 0:04:31

Codex接入Jev模型完整指南:配置方法、本地部署与踩坑排查

最近不少人在讨论 Codex 搭配 Jev 这套玩法,我一开始没太当回事,直到自己把 Jev 接进 Codex跑了几轮编码任务之后,才明白那些说“直接起飞”的人是怎么想的。Codex 作为工具本身已经够能打了,但模型固定、上下文策略固定&#xff…

2026/10/3 0:04:31

GitHub 热门: NVIDIA/Model-Optimizer

👋 Hi,我擅长 AI 大模型应用落地、意识解码与 AI 开发工具链 。 💡 创业路上,用技术换时间,一起把 AI 变成生产力 🚀 >GitHub 热门: NVIDIA/Model-Optimizer 凌晨两点,你刚把跑通了的 Qwen3.…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑