Kodewick
开始学 →
小挑战←→0 / 70

露营背包

#066小挑战结构体切片约 7 分钟

去露营,背包最多背 limit 公斤。按 items 的顺序一样一样放:放进去不超重就放,超重就跳过这一样、接着看下一样。写 Pack(items, limit),返回放进去的名字和总重量。

示例
Pack([]Item{{"tent", 5}, {"stove", 2}, {"chair", 4}}, 8)→(['tent', 'stove'], 7)
Pack([]Item{}, 10)→([], 0)
函数func Pack(items []Item, limit int) ([]string, int)
main.go
package main

type Item struct {
	Name string
	Kg   int
}

func Pack(items []Item, limit int) ([]string, int) {
	packed := []string{}
	total := 0
	for _, it := range items {
		// 在这里写:加上它不超重,就放进 packed,total 也加上
	}
	return packed, total
}
Ctrl + Enter 也能运行
结果

写好了先点「运行」试试示例,没问题再点「提交」。