去露营,背包最多背 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)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
}
写好了先点「运行」试试示例,没问题再点「提交」。