给定一个数组,数组中含有重复元素,给定两个数字num1和num2,求这两个数字在数组中出现的位置的最小距离。
方法一:蛮力法
主要思路为:对数组进行双重遍历,外层循环遍历查找num1,只要遍历到num1,内层循环对数组从头开始遍历找num2,每当遍历到num2,就计算它们的距离dist。当遍历结束后最小的dist值就是它们最小的距离。实现代码如下:
程序的运行结果为:
2
算法性能分析:这种方法需要对数组进行两次遍历,因此,时间复杂度为O(n2)。
方法一:蛮力法
主要思路为:对数组进行双重遍历,外层循环遍历查找num1,只要遍历到num1,内层循环对数组从头开始遍历找num2,每当遍历到num2,就计算它们的距离dist。当遍历结束后最小的dist值就是它们最小的距离。实现代码如下:
2
算法性能分析:这种方法需要对数组进行两次遍历,因此,时间复杂度为O(n2)。