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

每日一道算法题 最接近的三数之和

题目

16. 最接近的三数之和 - 力扣(LeetCode)

Python

class Solution:def threeSumClosest(self, nums: List[int], target: int) -> int:nums.sort()n=len(nums)ans=0min_diff=inf  # infinite 无穷for i in range(n-2):tmp=nums[i]l=i+1r=n-1while l<r:s=tmp+nums[l]+nums[r]if s==target:return selif s>target:r-=1else:l+=1if abs(s-target)<min_diff:min_diff=abs(s-target)ans=sreturn ans

C++

class Solution {
public:int threeSumClosest(vector<int>& nums, int target) {sort(nums.begin(),nums.end());int ans=0;int n=nums.size();int min_diff=INT_MAX;for(int i=0;i<n-2;i++){int tmp=nums[i];int l=i+1;int r=n-1;while(l<r){int s=tmp+nums[l]+nums[r];if(s==target) return s;else if(s>target){r-=1;if(s-target<min_diff) {min_diff=s-target;ans=s;}}else {l+=1;if(target-s<min_diff) {min_diff=target-s;ans=s;}}}}return ans;}
};

C语言

int cmp(const void *a,const void *b)
{return *(int*)a-*(int*)b;
}
int threeSumClosest(int* nums, int numsSize, int target) 
{qsort(nums,numsSize,sizeof(int),cmp);int ans=0;int min_diff=1e7;for(int i=0;i<numsSize-2;i++){int tmp=nums[i];int l=i+1;int r=numsSize-1;while(l<r){int s=tmp+nums[l]+nums[r];if(s==target) return s;else if(s>target) r--;else l++;if(abs(s-target)<min_diff){ans=s;min_diff=abs(target-s);}}}return ans;
}

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

相关文章:

  • 搭建自己的金融数据源和量化分析平台(六):下载并存储沪深两市上市公司财报
  • C语言-常见关键字详解
  • 异步编程之std::future(一): 使用
  • Vue3 + JS项目配置ESLint Pretter
  • JavaScript (十四)——JavaScript typeof和类型转换
  • CTF-web 基础
  • CP AUTOSAR标准之ChineseV2XNetwork(AUTOSAR_SWS_ChineseV2XNetwork)(更新中……)
  • 【hloc】 项目流程
  • 鸿蒙系统开发【应用接续】基本功能
  • nextTick方法的作用是什么?什么时候会用到
  • 多 NodeJS 环境管理
  • 解决网站被植入跳转木马病毒
  • Node.js(6)——npm软件包管理
  • 区块链核心概念与技术架构简介
  • ≌图概念凸显包含射线V的直线W是比V长的线
  • 子路由的配置方法?
  • 【大模型从入门到精通2】openAI api的入门介绍2
  • 【前端编程小白】的HTML从零入门到实战
  • easyexcel读文件入批量入es
  • JS+H5打字练习器
  • windows系统关闭开机自检硬盘
  • 【多线程开发 5】实践使用Lock和Condition
  • 2.4-结构化并发:协程的结构化异常管理
  • Android 12.0 debug版本打开OEM解锁开关功能实现
  • linux用户组练习
  • [Docker][Docker Container]详细讲解
  • 塑造美好心灵,激发创造活力|第三届瓷艺中华“陶溪川杯”儿童青少年陶瓷作品展开展
  • 鸿蒙开发刷新单个item会闪一下处理
  • 您需要了解的有关 5G 的一切。
  • 【redis】初识redis入门,基础部署以及介绍