算法:
方法一: 分类讨论题
func maximumTop(nums []int, k int) int {
n := len(nums)
maxVal := -1
if n == 1 {
if k % 2 == 1 {
return - 1
}
return nums[0]
}
if k <= 1 {
return nums[k]
}
if k == n {
for i := 0; i <= n - 2; i ++ {
maxVal = max(maxVal, nums[i])
}
return maxVal
}
if k > n {
for i := 0; i <= n -1; i ++ {
maxVal = max(maxVal, nums[i])
}
return maxVal
}
// 1 < k < n
for i := 0; i <= k - 2; i ++ {
maxVal = max(maxVal, nums[i])
}
return max(maxVal, nums[k])
}
func max(a, b int) int {
if a >b {
return a
}
return b
}