博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法-双指针-最接近的三个数之和
阅读量:3961 次
发布时间:2019-05-24

本文共 1149 字,大约阅读时间需要 3 分钟。

在这里插入图片描述

排序+双指针

class Solution {
public int threeSumClosest(int[] nums, int target) {
Arrays.sort(nums); int best = 100000000; for(int i = 0; i < nums.length; i++) {
if(i > 0 && nums[i] == nums[i - 1]) {
continue; } int L = i + 1; int R = nums.length - 1; while(L < R) {
int sum = nums[i] + nums[L] + nums[R]; if(sum == target) {
return sum; } //更新答案 if(Math.abs(sum - target) < Math.abs(best - target)) {
best = sum; } if(sum > target) {
//移动的时候先去重 while(L < R && nums[R] == nums[R - 1]) {
R--; } R--; }else {
//移动的时候先去重 while(L < R && nums[L] == nums[L + 1]) {
L++; } L++; } } } return best; }}

转载地址:http://llhzi.baihongyu.com/

你可能感兴趣的文章
软件维护
查看>>
软件项目管理
查看>>
面向过程的分析方法
查看>>
软件设计基础
查看>>
UML的基本结构
查看>>
UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
查看>>
用例图(UseCase Diagram)—UML图(一)
查看>>
类图(Class diagram)—UML图(二)
查看>>
活动图(Activity Diagram)—UML图(四)
查看>>
C#方法重载(overload)方法重写(override)隐藏(new)
查看>>
CSS+DIV练手-公司
查看>>
CSS+DIV练手—鲜花展
查看>>
深入浅出JavaScript(1)—ECMAScript
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
Asp.Net+Jquery.Ajax详解1-开篇
查看>>
我的软件工程之路(四)—半年总结
查看>>
Asp.Net+Jquery.Ajax详解5-$.getScript
查看>>
Asp.Net+Jquery.Ajax详解6-$.ajaxSetup
查看>>
什么是Dojo?与Jquery宏观对比,结果如何?
查看>>
Asp.Net+Jquery.Ajax详解8-核心$.ajax
查看>>