Giriş
Hausdorff mesafe Bir metrik alan iki alt arasındaki fark ölçülür. Sezgisel olarak, bir metrik boşluk, yerleşik bir mesafe işlevine sahip olan sadece bir kısmıdır; Bu mücadelede, doğal sayıları normal mesafeden kullanacağız d(a, b) := abs(a - b). Haussdorf iki boş olmayan sonlu kümeler arasındaki mesafe Ave Bverilir
max(max(min(d(a, b) for b in B) for a in A),
max(min(d(a, b) for a in A) for b in B))
Python benzeri gösterimde. Hausdorff mesafesi, Aen yakın elemana olan mesafenin Bmaksimum olduğu elementin Bbulunması ve en yakın elemana olan mesafenin Amaksimum olduğu elementin hesaplanması ve daha sonra bu mesafelerin maksimumunun alınması ile hesaplanabilir. Hausdorff mesafe, başka bir deyişle, d, daha sonra her eleman Amesafesinde dbir elemanın B, ve tersi.
Giriş
Girişiniz tek bir tamsayı listesidir. Sadece elementleri içeren 0,1,2,3listenin verilen endeks bir unsuru ne olup olmadığını delalet, Ane de Bsadece Atek Bveya her ikisi Ave B. Örneğin, girdi şu [0,1,1,0,2,3]anlama gelir A = {1,2,5}ve B = {4,5}eğer 0 temelli indeksleme kullanıyorsak (farkımız yoktur, çünkü metriklerimiz çeviri değişmezdir).
Çıktı
Çıktınız arasındaki Hausdorff mesafedir Ave B; Yukarıdaki örnekte, öyle 3. Herhangi bir ayar boşsa, mesafe tanımlanmaz ve geri dönersiniz -1.
kurallar
Tam bir program veya bir fonksiyon yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklar izin verilmez.
Test Kılıfları
[] -> -1
[0] -> -1
[0,1,0] -> -1
[2,0,0,2] -> -1
[0,1,2,3] -> 1
[0,3,3,0,0,0,0,3] -> 0
[1,0,0,1,0,0,1,3,1] -> 7
[1,0,0,0,0,3,0,0,0,0,2] -> 5
[0,1,1,3,1,3,2,1,1,3,0,3] -> 2
[2,2,2,1,2,0,3,1,3,1,0,3] -> 3
[1,3,0,2,0,2,2,1,0,3,2,1,1,2,2] -> 2
[1,0,1,1,2,0,1,2,3,1,0,0,0,1,2,0] -> 4
Açok yakın olduğu söylenebilir B, ancak Bçok uzak olan unsurlar vardır A(örneğin, eğer Abir altkümesi varsa B). Bu durumda, kısa formül yanlış.
max(max(min(d(a, b) for b in B) for a in A))yeterli olması gerektiği gibi çok uzun olduğuna inanıyorum . Bunun nedenid(a,b)mutlak değeri verir ve bu nedenle her iki maksimum fonksiyon her seferinde aynı sayıyı döndürür.