2017-09-14 91 views
-5

所以我想要做的是找到数组中第二个元素的索引。找到第二个出现元素的数组的索引

int nums[] = {1, 2, 1, 7, 3, 1, 2, 0 , 1 , 2, 2 }; 

尝试获取数组中第二个2的索引。

如果有人能够澄清,会很乐意。我使用了一个for循环和一个计数器,但它似乎并没有工作

+0

您使用的是编程语言吗? –

+0

我正在使用java – Ben

+0

我将为您添加一个Java标记。祝你好运。 –

回答

0

我没有为你写代码,但这里的要点是:创建一个变量,告诉你是否见过你数量之前。仔细检查你的数组,并在你第一次看到它设置该变量以记住你已经看到它。下次你看到它时,检查你创建的变量,以确保你已经看到它,然后你会证明你已经看过它两次。此时复制索引。

0

请参阅下面我的psudo代码,以便让您在正确的方向:) 注意:将需要第二个for循环在if语句中编写contains部分。看到这个链接,如果你的混乱http://javadevnotes.com/check-if-java-array-contains-a-certain-value

int nums[] = {1, 2, 1, 7, 3, 1, 2, 0 , 1 , 2, 2 }; 
int temp[] = new int[nums.length]; 

for (int i = 0; i < nums.length; i++){ 
    if(temp contains nums[i]){ 
    //then you have found the second instance 
    return nums[i]; 
    } 
    else 
    //add nums[i] to the temp array`` 
} 
// no second instance found 
return -1; 
0

使用地图

的价值在关键的地方,2-次数添加元素。

如果我们在密钥中有1个发生添加元素,并且保留值null或0. 如果我们有2个具有相同密钥的更新元素值通过索引位置。 如果我们有n次发生的话,止回阀为零或0.根据前两个步骤拒绝或更改。

我希望你能理解。

相关问题