LeetCodeClassification---- No.1 分治--分治的工具是递归---使用递归完成找出一维数组中的最大值
使用递归完成找出一维数组中的最大值如果是两个数,我们很容易就清楚,哪个是最大的,哪个是最小的 ,因此基准条件就是 数组中剩下两个元素递归条件:使用函数本身得到 暂时的最大值pythondef findMax(l):if len(l) == 0:## 基准条件return l[0] if l[0] > l[1] else l[1]max_temp = findMax(l[1:])## 递归条件
·
使用递归完成找出一维数组中的最大值
如果是两个数,我们很容易就清楚,哪个是最大的,哪个是最小的 ,因此基准条件就是 数组中剩下两个元素
递归条件:使用函数本身得到 暂时的最大值
python
def findMax(l):
if len(l) == 0: ## 基准条件
return l[0] if l[0] > l[1] else l[1]
max_temp = findMax(l[1:]) ## 递归条件,完成更新
return l[0] if l[0] > max_temp else max_temp
findMax([1,2,3,4,10])
go
func findMax(arr []int) int {
if len(arr) == 2 {
if arr[0] > arr[1] {
return arr[0]
} else {
return arr[1]
}
} else {
max_temp := findMax(arr[1:])
if arr[0] > max_temp {
return arr[0]
} else {
return max_temp
}
}
}
func main() {
arr := []int{1, 2, 3, 4, 5, 10}
fmt.Println("findMax : ", findMax(arr))
}
更多推荐
已为社区贡献3条内容
所有评论(0)