Java如何告诉我去过一个数组中的所有数字

所以我有一个包含正整数的N大小的数组A. 该阵列可能有许多重复,我想找到最短的距离去旅游阵列,并访问阵列中发生的每个数字Java如何告诉我去过一个数组中的所有数字

迭代从A [0]开始的数组的最佳方式是什么上。

到目前为止,我已经想出了将所有数字添加到一个集合中,以便我可以比较,如果我已经在那里。

例如下面的数组中的最短距离访问所有数字是5

Integer[] nums = { 2, 6, 7, 2, 3, 3, 1, 2 }; 

,所以我将它们添加到HashSet

Set<Integer> UniqueNums = new HashSet<>(Arrays.asList(nums)); 

这是我弄糊涂 我知道以下是错误的,它是唯一的psudocode,但我会做一些沿线

int count = 0; 

for(int i : nums)

{

if(UniqueNums.contains(i)

{

count ++;

}

}

回答:

你可以请试试....这只是一个伪代码。

int count = 0; 

int i =0;

while(i < nums.lnegth && UniqueNums.size() >0)

{

UniqueNums.remove (nums[i]);

i++;

}

Sysout("minimum length of array containing all unique element from starting " + i);

我在做什么 - >放置独特的元素后,我迭代数组并开始删除我在nums中访问过的元素。 当我有当时在NUMS访问的所有独特元素“UniqueNums”将是空的,它会终止循环

以上是 Java如何告诉我去过一个数组中的所有数字 的全部内容, 来源链接: utcz.com/qa/259090.html

回到顶部