পাওয়ারশেল v3 +, 62 বাইট
param($n)($n[(0..$n.count|?{0-in$n[$_-1],$n[$_+1]})]|sort)[-1]
অন্যান্য উত্তরগুলির চেয়ে কিছুটা দীর্ঘ, তবে একটি নিফটির পদ্ধতির।
ইনপুট নেয় $n
। তারপরে সূচকগুলির মধ্য দিয়ে লুপ করে 0..$n.count
, Where-Object
( |?{...}
) ব্যবহার করে সেই সূচকগুলি বের করতে যেখানে অ্যারেতে পূর্ববর্তী বা পরবর্তী আইটেম রয়েছে 0
এবং সেগুলি আবার অ্যারে স্লাইসে ফিড করে $n[...]
। আমরা তখন |sort
সেই উপাদানগুলি, এবং সবচেয়ে বড় গ্রহণ করি [-1]
।
উদাহরণ
PS C:\Tools\Scripts\golfing> @(1,4,3,6,0,3,7,0),@(9,4,9,0,9,0,9,15,-2),@(-4,-6,-2,0,-9),@(-11,0,0,0,0,0,-12,10)|%{""+$_+" --> "+(.\largest-number-beside-a-zero.ps1 $_)}
1 4 3 6 0 3 7 0 --> 7
9 4 9 0 9 0 9 15 -2 --> 9
-4 -6 -2 0 -9 --> -2
-11 0 0 0 0 0 -12 10 --> 0
PS C:\Tools\Scripts\golfing> @(0,20),@(20,0),@(0,7,20),@(7,0,20),@(7,0,6,20),@(20,0,6)|%{""+$_+" --> "+(.\largest-number-beside-a-zero.ps1 $_)}
0 20 --> 20
20 0 --> 20
0 7 20 --> 7
7 0 20 --> 20
7 0 6 20 --> 7
20 0 6 --> 20