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

16.最接近的三数之和

​​题目来源:

        leetcode题目,网址:16. 最接近的三数之和 - 力扣(LeetCode)

解题思路:

       对数组排序后,枚举第一个值,利用双指针在第一个值固定时的第二三个值。

解题代码:

class Solution {
public:int threeSumClosest(vector<int>& nums, int target) {int res=-1;int diff=-1;sort(nums.begin(),nums.end());for(int i=0;i<nums.size();i++){int targetSum=target-nums[i];int left=i+1;int right=nums.size()-1;while(left<right){if(res==-1 || abs(targetSum-nums[left]-nums[right])<diff){res=nums[i]+nums[left]+nums[right];diff=abs(targetSum-nums[left]-nums[right]);if(diff==0){break;}}if(nums[left]+nums[right]>targetSum){right--;}else{left++;}}}return res;}
};
 

总结:

        刚开始打算将以每个节点为根节点,通过辅助函数获得其左子树长度与右子树长度之后,再判断是否为平衡二叉树。但后来发现,递归求初始二叉树的深度过程中会同时求每个节点的左子树深度与右子树的深度,在得出两个结果后判断其差的绝对值是否小于2即可,不需要再利用辅助函数求初始二叉树的非根节点的左子树深度与右子树深度。


http://www.lryc.cn/news/230359.html

相关文章:

  • php 插入排序算法实现
  • import gradio时出现SyntaxError: future feature annotations is not defined解决方案
  • 视频封装格式
  • vue+iView实现下载zip文件导出多个excel表格
  • Rust编程中的共享状态并发执行
  • python语法之数据类型
  • Skybox天空盒子的更换教程_unity基础开发教程
  • Android模拟器的linux内核源码的下载
  • Vue中methods实现原理
  • 维基百科是非营利性机构 词条内容具有中立性、准确性、可靠性
  • C/C++轻量级并发TCP服务器框架Zinx-框架开发002: 定义通道抽象类
  • bin、hex、ELF文件格式上的区别
  • 《QT从基础到进阶·二十六》绘制多个图形项(QGraphicsRectItem,QGraphicsLineItem,QGraphicsPolygonItem)
  • 【分布式】CAP理论详解
  • AI歌姬,C位出道,基于PaddleHub/Diffsinger实现音频歌声合成操作(Python3.10)
  • ZooKeeper基本知识
  • leetcode:138. 随机链表的复制
  • SpringBoot 全局异常之参数校验(1)
  • QT windows与linux之间sokcet通信中文乱码问题解决方法
  • Java实现DXF文件转换成PDF
  • 揭秘Vue中的nextTick:异步更新队列背后的技术原理大揭秘!
  • PHP使用文件缓存实现html静态化
  • A Gentle Introduction to Graph Neural Networks
  • 详解[ZJCTF 2019]NiZhuanSiWei 1(PHP两种伪协议、PHP反序列化漏洞、PHP强比较)还有那道题有这么经典?
  • bazel build使用【未完】
  • 11-13 /11-14代理模式 AOP
  • Ubuntu 创建并发布 Django 项目
  • SQL Server进阶知识
  • TFHEpp 使用记录
  • 大模型的实践应用6-百度文心一言的基础模型ERNIE的详细介绍,与BERT模型的比较说明