OK, vì vậy tôi chỉ mới bắt đầu nghĩ cách triển khai một plugin đồ họa mới cho Paint.NET và tôi sẽ cần phải biết cách tìm số nguyên phổ biến nhất trong mảng số nguyên 2d. Có một built-in để C# cách để làm điều này? Hoặc, có ai có một cách khéo léo để làm điều đó?Cách tìm int phổ biến nhất trong mảng int 2?
Mảng sẽ giống như thế này:
300 300 300 300 300 300 300
0 150 300 300 300 300 300
0 0 150 300 300 300 300
0 0 0 0 300 300 300
0 0 0 0 150 300 300
0 0 0 0 0 150 300
0 0 0 0 0 0 300
tôi sẽ cần phải biết rằng 300 là số phổ biến nhất trong mảng. Nếu không có "phổ biến nhất" thì chỉ cần trả lại số trung tâm (các mảng mờ sẽ luôn là số lẻ lẻ) 0.
Tôi sẽ thực hiện điều này bằng thuật toán "brute force" trừ khi các chuyên gia có thể với một cái gì đó nhanh hơn.
Mọi trợ giúp sẽ được đánh giá rất nhiều.
Cảm ơn!
CHỈNH SỬA: Thêm thông tin ...
Giá trị hầu như luôn luôn rất đa dạng (đa dạng hơn mảng mẫu của tôi). Các giá trị sẽ nằm trong khoảng 0-360. Kích thước của mảng sẽ là 5x5 đến khoảng 17x17 tùy thuộc vào tốc độ của thuật toán. Kết quả sẽ được tính một lần cho mỗi pixel trong một hình ảnh lớn ... vì vậy nhanh hơn là tốt hơn. ;)
Âm thanh như một vấn đề thú vị - Tôi đặt cược có câu trả lời. Màu tôi quan tâm. – Jeffrey
Bạn sẽ làm gì nếu đó là cà vạt (ví dụ 300 và 125 đều có cùng số lần truy cập)? –
@Michael, nó đã được nêu trong vấn đề ban đầu: "Nếu không có" phổ biến nhất "thì chỉ cần trả lại số trung tâm" có nghĩa là không có giải pháp nào được đăng cho đến nay đáp ứng các yêu cầu. – BoltBait