leetcode 16: 3 Sum closest (C#版)
来源:互联网 发布:万合星多屏软件破解版 编辑:程序博客网 时间:2024/06/05 03:33
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).using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _3Sum{ class threesumclosest { public int ThreeSumClosest(int[] nums, int target) { List<int> myL = nums.ToList(); myL.Sort(); int[] mynum = myL.ToArray(); int start, end, current; List<int> mylist = new List<int>(); List<int> myres = new List<int>(); for (int i = 0; i < mynum.Length; i++) { if (i != 0 && mynum[i] == mynum[i - 1]) { continue; } start = i + 1; end = mynum.Length - 1; while (start < end) { if (start != i + 1 && mynum[start] == mynum[start - 1]) { start++; continue; } current = mynum[i] + mynum[start] + mynum[end]; if (target > current) { mylist.Add(target - current); start++; } else { myres.Add(current - target); end--; } } } int x1, x2; if (mylist.Count != 0) { x1 = mylist.Min(); } else { x1 = myres.Min()+1; } if (myres.Count != 0) { x2 = myres.Min(); } else { x2 = mylist.Min()+1; } int x3 = target-x1; int x4 = target + x2; if (mylist == null ||x1> x2) { return x4; } else if (myres == null || x1 < x2) { return x3; } else { return x4; } } }}<pre name="code" class="html">
0 0
- leetcode 16: 3 Sum closest (C#版)
- 【LeetCode】C# 16、3Sum Closest
- leetcode - 3Sum Closest (kSum Closest)
- 3Sum Closest (leetcode 16)
- LeetCode(16)3Sum Closest
- LeetCode (16)3Sum Closest
- LeetCode 16: 3Sum Closest
- LeetCode 16: 3Sum Closest
- leetcode 16 3Sum Closest
- [leetcode 16] 3Sum Closest
- Leetcode【16】:3Sum Closest
- [leetcode 16] 3Sum Closest
- [Leetcode] 16 - 3Sum Closest
- leetcode.16----------3Sum Closest
- leetcode 16 3Sum Closest
- leetcode-16 3Sum closest
- LeetCode---(16) 3 Sum Closest
- LeetCode 16 - 3Sum Closest
- 方便学习的一些经典网站
- SLAM学习
- 数据平台的简单使用
- Light OJ 1342 - Aladdin and the Magical Sticks (概率DP)
- VS2013中 scanf()函数返回值
- leetcode 16: 3 Sum closest (C#版)
- sklearn.pipeline.Pipeline类的用法
- sklearn.preprocessing.PolynomialFeatures类的使用
- 2015年简短总结
- 分治法求最接近点对问题
- Java网络详解
- leetcode 59. Spiral Matrix II
- 验证进栈出栈的合法性
- 让vscode完美支持go vendor的代码跳转(使用vscode必看)