如何为LeetCode「最接近原点的K个点」算法优化最优参数?
关于LeetCode「最接近原点的K个点」算法最优参数的疑问
我在解决LeetCode「最接近原点的K个点」问题时,希望优化算法的运行时性能,但对如何确定代码中的最优参数存在疑问。
以下是我的Go语言实现代码:
func kClosest(points [][]int, k int) [][]int { res := make([][]int,0,k) max := 0 for i,v := range points { p := v[0]*v[0]+v[1]*v[1] if len(res) < k { if p > max { max = p } res = append(res,v) if i == k-1 { sort.Slice(res,func(i,j int) bool { return res[i][0]*res[i][0]+res[i][1]*res[i][1] < res[j][0]*res[j][0]+res[j][1]*res[j][1] }) } continue } if p > max { continue } res = append(res,v) // 此处的50是我想要优化的参数 if len(res) > 50*k { sort.Slice(res,func(i,j int) bool { return res[i][0]*res[i][0]+res[i][1]*res[i][1] < res[j][0]*res[j][0]+res[j][1]*res[j][1] }) res = res[:k] max = res[k-1][0]*res[k-1][0]+res[k-1][1]*res[k-1][1] } } sort.Slice(res,func(i,j int) bool { return res[i][0]*res[i][0]+res[i][1]*res[i][1] < res[j][0]*res[j][0]+res[j][1]*res[j][1] }) res = res[:k] return res }
代码中50是我需要优化的参数,请问如何计算该算法中的这个最优参数?
内容的提问来源于stack exchange,提问作者stone
相关产品推荐
相关产品推荐

