【发布时间】:2017-08-19 00:47:23
【问题描述】:
当我解决问题时,我总是对总是给出时间限制问题的算法使用蛮力。 我真的不知道该怎么办? 如何将我的方法从蛮力算法更改为智能算法
例如我在hackerrank上解决这个问题:
“考虑一个整数数组, 。我们定义两个元素之间的绝对差,并且 (其中 ) 是 的绝对值。
给定一个整数数组,找出并打印数组中任意两个元素之间的最小绝对差。
输入格式
第一行包含一个表示(整数个数)的整数。 第二行包含用空格分隔的整数,描述 的各个值。
约束
2<n<2^5
10^-9<ai<10^9
输出格式
打印数组中任意两个元素之间的最小绝对差。
示例输入
3
3 -7 0
样本输出
3
我的方法是用每个元素减去每个元素
并打印最小差异,但它给出了时间限制问题
【问题讨论】:
-
当您没有正确复制问题或显示您的任何尝试时,很难提供帮助
-
对于瓷砖中的问题,遗憾的是没有一般收据。一个人必须“聪明”。你可以通过学习算法和数据结构获得一些经验。
-
@cricket_007 我复制正确
-
这句话不完整... "我们定义两个元素之间的绝对差,并且 (where ) 是 的绝对值。"
标签: arrays algorithm brute-force greedy divide-and-conquer