Dağlık bir bölgeden bir dilim aldığımızı düşünün, bu buna benzer bir şekle neden olacaktır:
4 _
3 _ _ __/ \
2 / \__/ \ _/ \_ /
1 / \ / \_/
0 \/
12322223210012233343221112
Gördüğümüz gibi, bunu (belirli bir dereceye kadar) bir tamsayı dizisiyle temsil edebiliriz.
Bu zorluğun amacı için, bir vadiyi başlangıçta değerlerin azaldığı ve bir noktadan itibaren arttığı bitişik bir alt çizgi olarak tanımlıyoruz. Daha resmi bir sekans için bir vadi aşağıdakilerin sahip olduğu endeksleri olacaktır :
- vadinin başlangıç ve bitiş noktaları aynı:
- bölge azaldığında vadi başlar ve biter:
- vadi düz değil:
- vadi başlangıçta azalır:
- vadi bir noktada artacak:
Şimdi böyle bir vadinin genişliğini, indekslerin büyüklüğü , yani. .
Meydan okuma
Bir yükseklik profili (negatif olmayan tamsayılar dizisi) verildiğinde, göreviniz en geniş vadinin genişliğini belirlemektir.
Misal
Yükseklik profili göz önüne alındığında, [1,2,3,2,2,2,2,3,2,1,0,0,1,2,2,3,3,3,4,3,2,2,1,1,1,2]daha önce olduğu gibi görselleştirebiliriz:
4 _
3 _ _ __/ \
2 / \__/ \ _/ \_ /
1 / \ / \_/
0 \/
12322223210012233343221112
aaaaaa ccccc
bbbbbbbbb
İkinci vadi nasıl [3,2,1,0,0,1,2,2,3]sağa doğru daha fazla uzanmaz, çünkü en soldaki nokta değil . Ayrıca geri kalan iki saniyeyi de eklemiyoruz çünkü son noktanın ikinci son noktadan daha yüksek olmasını istiyoruz.
Bu nedenle en geniş vadinin genişliği .
kurallar
- Girdi, negatif olmayan (özür dilerim Hollandalılar) tamsayılar dizisi olacak
- her zaman en az bir vadi olduğunu varsayabilirsiniz.
- Çıktı, yukarıda tanımlandığı gibi en geniş vadinin büyüklüğü olacaktır
testcases
[4,0,4] -> 3
[1,0,1,0,1] -> 3
[1,0,2,0,1,2] -> 4
[13,13,13,2,2,1,0,1,14,2,13,14] -> 4
[1,2,3,2,2,2,2,3,2,1,0,0,1,2,2,3,3,3,4,3,2,2,1,1,1,2] -> 9
[3,2,0,1,0,0,1,3] -> 4
[3,1,2,3])
[4,0,4]böyle bir durum olurdu.
[3,2,0,1,0,0,1,3]. Mevcut tüm yanıtlar 8 döndürür, tanımınıza göre 4 olması gerektiğine inanıyorum.