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即可,不需要再利用辅助函数求初始二叉树的非根节点的左子树深度与右子树深度。
相关文章:
16.最接近的三数之和
题目来源: leetcode题目,网址:16. 最接近的三数之和 - 力扣(LeetCode) 解题思路: 对数组排序后,枚举第一个值,利用双指针在第一个值固定时的第二三个值。 解题代码:…...
php 插入排序算法实现
插入排序是一种简单直观的排序算法,它的基本思想是将一个数据序列分为有序区和无序区,每次从无序区选择一个元素插入到有序区的合适位置,直到整个序列有序为止 5, 3, 8, 2, 0, 1 HP中可以使用以下代码实现插入排序算法: functi…...
import gradio时出现SyntaxError: future feature annotations is not defined解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...
视频封装格式
FLV(Flash Video) FLV封装格式 Tag Data分为Audio,Video,Script三种 TS(Transport Stream)传输流 TS文件分为三层,(倒叙更好理解) TS层:在PES层基础上加入…...
vue+iView实现下载zip文件导出多个excel表格
1,需求:在vue项目中,实现分月份导出多个Excel表格。 点击导出,下载zip文件,解压出多张表数据。 2,关键代码: <Button class"export button-style button-space" click"ex…...
Rust编程中的共享状态并发执行
1.共享状态并发 虽然消息传递是一个很好的处理并发的方式,但并不是唯一一个。另一种方式是让多个线程拥有相同的共享数据。在学习Go语言编程过程中大家应该听到过一句口号:"不要通过共享内存来通讯"。 在某种程度上,任何编程语言中的信道都类…...
python语法之数据类型
在python编程中,数据类型是一个重要的概念。 变量可以存储不同类型的数据,不同的类型可以做不同的事情。 Python在这些类别中默认内置了以下数据类型: 文本类型:str数值类型:int, float, complex序列类型:list, tup…...
Skybox天空盒子的更换教程_unity基础开发教程
Skybox天空盒子的更换 Skybox的下载与导入更换SkyboxSkybox属性自定义 Skybox的下载与导入 打开资源商店 搜索FREE Skybox 这里是我使用的是这一款资源,点击添加至我的资源 打开包管理器Package Manager Packages选择My Assets 搜索Sky 选择刚刚添加的天空盒子 点…...
Android模拟器的linux内核源码的下载
文章目录 Android模拟器的linux内核源码的下载 Android模拟器的linux内核源码的下载 git clone https://aosp.tuna.tsinghua.edu.cn/android/kernel/goldfish.git自己新建一个文件夹存放内核代码,命名随意。 切换一下分支就有东西了 切换到下面这个分支...
Vue中methods实现原理
目录 前言 回调函数中的this指向问题 vue实例访问methods methods实现原理 前言 vue实例对象为什么可以访问methods中的函数方法?methods的实现原理是什么? 回调函数中的this指向问题 在解答前言中的问题前,需要了解一下回调函数中的th…...
维基百科是非营利性机构 词条内容具有中立性、准确性、可靠性
维基百科对一些企业很有神秘性,自行操作很多次也没有成功建立维基百科,这一定是没有按照维基百科的规则和流程去操作。小马识途营销顾问提醒企业,维基百科是一种基于协作的在线百科全书,由维基媒体基金会运营。维基百科的创建流程…...
C/C++轻量级并发TCP服务器框架Zinx-框架开发002: 定义通道抽象类
文章目录 2 类图设计3 时序图数据输入处理:输出数据处理总流程 4 主要实现的功能4.1 kernel类:基于epoll调度所有通道4.2 通道抽象类:4.3 标准输入通道子类4.4 标准输出通道子类4.5 kernel和通道类的调用 5 代码设计5.1 框架头文件5.2 框架实…...
bin、hex、ELF文件格式上的区别
bin, hex, 和 ELF 是三种不同的文件格式,主要用于表示和存储二进制数据和程序代码。它们各自有其用途、特点和格式: bin (Binary) 文件: 通常表示纯二进制格式的文件。它不包含任何元数据或文件结构,只是简单地按照字节顺序存储数据。这种文件…...
《QT从基础到进阶·二十六》绘制多个图形项(QGraphicsRectItem,QGraphicsLineItem,QGraphicsPolygonItem)
这个demo用QT实现了对多个图形项的绘制,包括矩形的绘制,直线的绘制和多边形的绘制,是之前一章中绘制矩形的增强版,之前一章节关于矩形的绘制可以参考:《QT从基础到进阶十五》用鼠标绘制矩形(QGraphicsView、…...
【分布式】CAP理论详解
一、CAP理论概述 在分布式系统中,CAP是指一组原则,它们描述了在网络分区(Partition)时,分布式系统能够提供的保证。CAP代表Consistency(一致性)、Availability(可用性)和…...
AI歌姬,C位出道,基于PaddleHub/Diffsinger实现音频歌声合成操作(Python3.10)
懂乐理的音乐专业人士可以通过写乐谱并通过乐器演奏来展示他们的音乐创意和构思,但不识谱的素人如果也想跨界玩儿音乐,那么门槛儿就有点高了。但随着人工智能技术的快速迭代,现在任何一个人都可以成为“创作型歌手”,即自主创作并…...
ZooKeeper基本知识
1.什么是ZooKeeper ZooKeeper是一个开源的分布式协调服务,它提供了一个高性能、高可靠的分布式协调基础,用于构建分布式系统。 具体来说,ZooKeeper通常用于以下几个方面: 配置管理:分布式系统通常需要集中管理配置信…...
leetcode:138. 随机链表的复制
一、题目: 138. 随机链表的复制 - 力扣(LeetCode) 函数原型: struct Node* copyRandomList(struct Node* head) 二、思路 本题是给出一个单链表,单链表的每个结点还额外有一个随机指针,随机指向其他结点&am…...
SpringBoot 全局异常之参数校验(1)
文章目录 前言背景依赖校验类型@NotBlank、@NotNull和@NotEmpty的区别@Valid和@Validated区别异常处理方式一 @RequestParam全局异常处理(ConstraintViolationException)请求示例方式二 @RequestBody(推荐)全局异常处理(MethodArgumentNotValidException)请求示例方式三(…...
QT windows与linux之间sokcet通信中文乱码问题解决方法
QT windows与linux之间sokcet通信中文乱码问题解决方法 linux发送与接收都转码utf-8: tcpClient ->write( send_msg.toUtf8());//解决乱码,发送转码 接收: QByteArray buffer tcpClient->readAll(); if(!buffer.isEmpty()) { // ui->plain…...
DreamZero技术解析:当视频扩散模型成为机器人“物理大脑“
原文摘要翻译最先进的视觉-语言-动作(VLA)模型在语义泛化方面表现出色,但在新环境中难以泛化到未见过的物理动作。我们提出了 DreamZero,一种基于预训练视频扩散主干网络构建的世界动作模型(WAM)。与 VLA 不…...
谷歌Gemini API新层级:机遇与挑战并存
谷歌为Gemini API添加Flex和Priority层级,可根据工作负载分配任务。同时发布Gemma 4。新层级虽简化开发工作,但也引发受监管行业担忧,对企业AI战略有重要意义。新层级助力开发者谷歌为Gemini API新增Flex Inference和Priority Inference层级&…...
2026年木蜡油定做厂家大盘点,究竟哪家才是行业首选?
在当今注重环保和品质的时代,木蜡油作为一种天然环保的涂料,受到了越来越多消费者的青睐。无论是室内外木器家具、木艺制品,还是全屋定制、装饰装修等领域,木蜡油都有着广泛的应用。然而,市场上木蜡油定做厂家众多&…...
无人机数据分析:UAV Log Viewer 技术解析与实践指南
无人机数据分析:UAV Log Viewer 技术解析与实践指南 【免费下载链接】UAVLogViewer An online viewer for UAV log files 项目地址: https://gitcode.com/gh_mirrors/ua/UAVLogViewer 无人机数据分析是提升飞行安全性和任务效率的关键环节。UAV Log Viewer作…...
保姆级教程:用PyTorch从零搭建联邦学习MNIST实验环境(附完整代码)
联邦学习实战:PyTorch搭建MNIST实验环境全流程解析 1. 联邦学习与MNIST实验概述 联邦学习作为一种分布式机器学习范式,正在重塑传统模型训练的方式。不同于集中式训练,联邦学习允许多个客户端在保持数据本地化的前提下协作训练模型࿰…...
利用快马平台快速构建Selenium自动化测试框架原型
今天想和大家分享一个用PythonSelenium快速搭建Web自动化测试框架的经验。最近接手了一个需要频繁回归测试的登录模块,手动测试实在太耗时,于是决定用自动化测试来提高效率。在InsCode(快马)平台上尝试后,发现能快速生成可运行的原型…...
提升嵌入式开发效率:用快马平台一键生成串口通信等常用模块代码
作为一名嵌入式开发者,我经常需要和串口通信打交道。无论是调试信息输出、设备间通信还是固件升级,UART都是最常用的外设之一。但每次新项目都要重新写一遍串口初始化、中断处理这些重复性代码,实在有点浪费时间。最近发现InsCode(快马)平台能…...
comsol三次谐波,本征手性BIC,远场偏振图,手性透射曲线,二维能带图,Q因子图,电场图
comsol三次谐波,本征手性BIC,远场偏振图,手性透射曲线,二维能带图,Q因子图,电场图,所见即所得 大子刊nc复现,在连续介质中束缚态驱动下具有最大和可调谐手征光学响应的平面手征超表面当平面超表…...
PlayCover:跨生态运行iOS应用的性能优化与无缝体验指南
PlayCover:跨生态运行iOS应用的性能优化与无缝体验指南 【免费下载链接】PlayCover Community fork of PlayCover 项目地址: https://gitcode.com/gh_mirrors/pl/PlayCover 价值主张:重新定义Apple生态边界 PlayCover作为专为Apple Silicon Mac设…...
微信网页授权redirect_uri配置全解析:从错误码10003到完美避坑指南
1. 微信网页授权redirect_uri配置全解析 最近在开发一个需要微信登录的项目时,遇到了经典的错误码10003问题。当时调试了大半天才发现是redirect_uri配置出了问题。相信很多开发者都踩过这个坑,今天我就把完整的解决方案和避坑经验分享给大家。 微信网页…...
