博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 16. 3Sum Closest
阅读量:5037 次
发布时间:2019-06-12

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

原题链接在这里:

题目:

Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.

For example, given array S = {-1 2 1 -4}, and target = 1.    The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).

题解:

类似,这里不用去掉重复的值,因为这里不需要避免存入重复的值。

基本思路就是维护一个最小的diff,排序之后夹逼。 

Time Complexity: O(n^2), sort takes O(n*logn), for loop 中的每一个 i 后的while loop 用了O(n) time.

Space Complexity is O(1).

AC Java:

1 public class Solution { 2     public int threeSumClosest(int[] nums, int target) { 3         if(nums == null || nums.length < 3){ 4             return Integer.MIN_VALUE; 5         } 6          7         Arrays.sort(nums); 8         int diff = Integer.MAX_VALUE; 9         int sum = 0;10         for(int i = 0; i
target){22 k--;23 }else{24 return sum;25 }26 }27 }28 return sum;29 }30 }

 

转载于:https://www.cnblogs.com/Dylan-Java-NYC/p/4825050.html

你可能感兴趣的文章
aspx页面按钮写返回上一页代码
查看>>
显示XML文档时排序数据
查看>>
使用ViewModel来实现多个Model传送至视图
查看>>
Hopscotch POJ - 3050
查看>>
转发 FMDB多线程下"is currently in use" 或者 "database is locked" 问题
查看>>
<摘录>linux signal 列表
查看>>
maven项目相关依赖包导入
查看>>
11.字典和列表生成式
查看>>
犀牛中图片显示不了
查看>>
PAT (Basic Level) Practice 1001 害死人不偿命的(3n+1)猜想
查看>>
[UIDevice currentDevice].model
查看>>
NAVICAT 拒绝链接的问题
查看>>
【oracle】dmp导数据库
查看>>
微软 SqlHelper代码、功能、用法介绍:高效的组件
查看>>
丰子恺-《豁然开朗》
查看>>
JavaScript 对象
查看>>
原生js轮播图(面向对象)
查看>>
数据分析软件及spss简单操作
查看>>
自定义通信协议
查看>>
Unity3d--Space Shooter(官方教程)--学习感想(3)
查看>>