关于买英雄的那道笔试题,我的代码如下func solution(costs []int, coins int) []int {var temp []inttemp = append(temp, costs...)sort.Slice(temp, func(i, j int) bool { return temp[i] var index []intvar ans []intvar hash map[int]inthash = make(map[int]int)for k, v := range costs {hash[v] = k}for _, v := range temp {if v index = append(index, hash[v]) //保存下标coins = coins - v}}sort.Slice(index, func(i, j int) bool { return index[i] for i := 0; i ans = append(ans, costs[index[i]])}return ans}主要思路就是,根据题意肯定是买最便宜的,这里用的是按照升序排序,然后比较从小的比较coin,因为这里需要按照原来的顺序输出,用了hash来存储值与下标的对应关系,最后将下标进行排序,按照顺序写入切片中就是题解,但是卡52%,不知道是超时问题还是有其他的情况没有考虑到,请各位大佬指教