大疆后端开发工程师编程题:飞机抓礼品
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
dataStrList := strings.Split(scanner.Text(), " ")
data := make([]int, 0)
for _, val := range dataStrList {
v, _ := strconv.Atoi(val)
data = append(data, v)
}
ans := 0
l := len(data)
var backtrack func(start int, pathValue int)
backtrack = func(start int, pathValue int) {
ans = max(ans, pathValue)
for i := start; i < l; i++ {
pathValue += data[i]
backtrack(i+2, pathValue)
pathValue -= data[i]
}
}
backtrack(0, 0)
fmt.Println(ans)
}
func max(a, b int) int {
if a > b {
return a
}
return b
}
#大疆校招##大疆笔试#