求算法,一个数组包括1,2,3,4,5,6,7,8,9,80,86,47,203,405,411怎么求出两数的差值最小的一组。1,2,3,4,5,6,7,8,9
解决方案 »
- OPC协议开发中引用类库OPCDAAuto.dll问题
- 鼠标拖拽效果
- datagridview显示excel数据问题
- 装好了VS Team System2k8 , Microsoft.Net目录下找不到Framework目录。
- 关于ListView的ScrollBar问题
- 这个功能怎么实现,一个很弱的问题
- 在线等待:怎么给‘WEB窗体’选项卡里面地控件添加客户端代码?
- 用ASP.NET开发的,发布后在IE中页面显示源码?在线等
- treeview结合listview的问题?
- 'System.InvalidOperationException' 是由什么错误引起的,怎样解决??
- 【怎么给【播放器】加一个默认图片】
- C# 爬虫爬虫的多线程如何实现
var sort_arr = arr.OrderBy(x => x).ToArray();
var dv = (from n in Enumerable.Range(0, arr.Length - 1)
let minute = sort_arr[n + 1] - sort_arr[n]
select minute).Min();
var result = from n in Enumerable.Range(0, arr.Length - 1)
where sort_arr[n + 1] - sort_arr[n] == dv || n>0 && sort_arr[n]-sort_arr[n-1]== dv
select sort_arr[n];
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
bool stop = false;
var data = (new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 80, 86, 47, 203, 405, 411 }).OrderBy(x => x);
List<int> r = new List<int>();
int min = data.Skip(1).First() - data.First();
r.Add(data.First());
foreach (var item in data.Take(data.Count() - 1).Zip(data.Skip(1), (x, y) => new { x, y }))
{
if (item.y - item.x == min && !stop)
{
r.Add(item.y);
}
else
{
stop = true;
if (item.y - item.x < min)
{
stop = false;
r.Clear();
min = item.y - item.x;
r.Add(item.x);
r.Add(item.y);
}
}
}
Console.WriteLine(string.Join(", ", r.ToArray()));
}
}
}