• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

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

java 来源:Michael Grinnell 4次浏览

所以我有一个包含正整数的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”将是空的,它会终止循环


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)