Имеется список со значениями координат:
List<(int,int)> coord = new List<(int,int)>() {(554,79),(553,79),(554,79), (23,600),(22,600),(22,600)};
Необходимо сгруппировать диапазон по item1
554,553,554
и
23,22,22
Группировку делаю так:
List<(int,int)> g_coord = coord.OrderBy(x => x.Item1).ToList();
Как мне захватить в группировку рядом стоящие числа (554 и 553, 22 и 23) Т.е там где координата отличается всего на 1?
Пока сделал такой костыль:
List<(int, int)> coords = new List<(int, int)>() {
(553,126),
(554,126),
(554,127),
(553,126),
(41,126),
(40,126),
(45,120),
(44,120),
(46,120),
(553,127),
(1001,44),
(1002,45),
};
List<(int, int)> newcoords = new List<(int, int)>();
// Удалить дубликаты
coords = coords.GroupBy(x => x.Item1).Select(x => x.First()).ToList();
// перебор списка
for (var j = 0; j < coords.Count(); j++)
{
//Console.WriteLine(coords[j].Item1 + "x" + coords[j].Item2);
for (var i = 0; i < coords.Count(); i++)
{
// Console.WriteLine(coords[j].Item1+ "==" +coords[i].Item1);
if (Math.Abs(coords[j].Item1 - coords[i].Item1)==1) {
coords.RemoveAt(i);
}
}
newcoords.Add(coords[j]);
}
Как вариант:
пример кода
var integs = new[] { 501, 551, 523, 20, 40 };
var res = integs
.Select(x => new
{
Count = (int)Math.Log10(x) + 1,
Value = x
})
.Select(x => new
{
First = x.Value / (int)Math.Pow(10, x.Count - 1),
Count = x.Count,
Value = x.Value
})
.GroupBy(x => new { x.First, x.Count })
.ToArray();
Вывод:
{{5,3} => 501, 551, 523}
{{2,2} => 20}
{{4,2} => 40}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно ли вообще корректировать верстку так, чтоб при масштабировании нигде ничего не выпирало и тд? Вот как выглядит отверстанная часть...
Есть ли разница в производительности между тегами? Например у меня (образно) 10000 слов данных, каждое слово нужно обернуть в тег Влияет ли выбор...
Как сделать кнопку навигации по сайту, или же чтоб кнопка переводила на опреденный элемент страницы?
Можно ли вставить DIV блок под исполняемый скрипт, если нет за что зацепиться в плане id или class?