import
java.util.*;
class
GFG
{
static
boolean
isPeak(
int
arr[],
int
n,
int
num,
int
i,
int
j)
{
if
(i >=
0
&& arr[i] > num)
{
return
false
;
}
if
(j < n && arr[j] > num)
{
return
false
;
}
return
true
;
}
static
boolean
isTrough(
int
arr[],
int
n,
int
num,
int
i,
int
j)
{
if
(i >=
0
&& arr[i] < num)
{
return
false
;
}
if
(j < n && arr[j] < num)
{
return
false
;
}
return
true
;
}
static
void
printPeaksTroughs(
int
arr[],
int
n)
{
System.out.print(
"Peaks : "
);
for
(
int
i =
0
; i < n; i++)
{
if
(isPeak(arr, n, arr[i], i -
1
, i +
1
))
{
System.out.print(arr[i] +
" "
);
}
}
System.out.println(
""
);
System.out.print(
"Troughs : "
);
for
(
int
i =
0
; i < n; i++)
{
if
(isTrough(arr, n, arr[i], i -
1
, i +
1
))
{
System.out.print(arr[i] +
" "
);
}
}
}
public
static
void
main(String[] args)
{
int
arr[] = {
5
,
10
,
5
,
7
,
4
,
3
,
5
};
int
n = arr.length;
printPeaksTroughs(arr, n);
}
}