Хотите найти большие области с высоким отклонением
Мы хотим проверить эффективность нового процесса формования листового металла. После формовки мы измеряем отклонение от заданной толщины.
Исходные данные могут быть визуализированы в виде квадратной сетки измерений в диапазоне от 0 (правильная толщина) до 5 (высокое отклонение от правильной толщины).
Мы хотим найти большие области с большим отклонением от правильной толщины. Для этого мы рассчитываем балл для каждого местоположения в сетке. Оценка определяется путем добавления собственного отклонения местоположения,
для окружающих отклонения.
Например, в сетке:
4 | 2 | 3 | 2 0 | 1 | 2 | 2 1 | 3 | 0 | 2 2 | 0 | 1 | 5Оценка для местоположения `(1,1)` выглядит следующим образом:
оценка(1,1) = 4 + 2 + 3 + 0 + 1 + 2 + 1 + 3 + 0 = 16
При работе с локациями по краям сетки оценка
следует игнорировать значения вне сетки. Например, оценка
расположение `(0, 0)` выглядит следующим образом:
4 | 2 | 3 | 2 0 | 1 | 2 | 2 1 | 3 | 0 | 2 2 | 0 | 1 | 5оценка(0,0) = 4 + 2 + 0 + 1 = 7
Напишите функцию:
class Solution { public string solution (int T, int N, int[ ] V); }
это, учитывая целое число `T`, целое число `N` и нулевой индексированный массив `V`
состоящий из целых чисел `N*N`, возвращает список самых высоких баллов `T` и
свое местоположение.
Каждое место и оценка должны быть отформатированы:
(x, y, оценка)
Где `(x,y)`-вектор с нулевой индексацией в левом верхнем углу сетки.
Список должен быть возвращен в виде строки:
(x1, y1, score1) (x2, y2, score2) (x3, y3, score3)
Если есть несколько локаций с одинаковым счетом, отдавайте предпочтение локациям
в верхнем левом углу, например`(1, 0 ,20)(2, 0, 20)(1, 1 ,20)`
Входные сигналы запрашивающие измерение top1 в сетке:
4 | 2 | 3 | 2 0 | 1 | 2 | 2 1 | 3 | 0 | 2 2 | 0 | 1 | 5Было бы:
T = 1
N = 4
V = [4, 2, 3, 2, 0, 1, 2, 2, 1, 3, 0, 2, 2, 0, 1, 5]
Что я уже пробовал:
Я не совсем понимал, что именно является результатом. Я не силен в статистике. Может ли кто - нибудь помочь мне найти решение? Спасибо
lw@zi
Вам нужно сделать это в C#?