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

本文共 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

你可能感兴趣的文章
[BZOJ1196][HNOI2006]公路修建问题 二分答案+最小生成树
查看>>
PHP基础入门(二)
查看>>
[Luogu P3119] [USACO15JAN]草鉴定Grass Cownoisseur (缩点+图上DP)
查看>>
【原创】大数据基础之Zookeeper(4)应用场景
查看>>
18款在线代码片段测试工具
查看>>
20.C++- &&,||逻辑重载操作符的缺陷、,逗号重载操作符的分析
查看>>
静态变量数组实现LRU算法
查看>>
在SQL中怎么把一列字符串拆分为多列
查看>>
中文系统 上传file的input显示英文
查看>>
css样式写一个三角形
查看>>
比callback更简洁的链式执行promise
查看>>
android permission
查看>>
javascript获取textarea中所选文本的开始位置、结束位置和选择的文本
查看>>
【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
查看>>
事务备份还原分离附加
查看>>
JSch - Java实现的SFTP(文件上传详解篇)
查看>>
一些注意点
查看>>
.net 文本框只允许输入XX,(正则表达式)
查看>>
C#修饰符
查看>>
20.核心初始化之异常向量表
查看>>