所以我想要做的是找到数组中第二个元素的索引。找到第二个出现元素的数组的索引
int nums[] = {1, 2, 1, 7, 3, 1, 2, 0 , 1 , 2, 2 };
尝试获取数组中第二个2的索引。
如果有人能够澄清,会很乐意。我使用了一个for循环和一个计数器,但它似乎并没有工作
所以我想要做的是找到数组中第二个元素的索引。找到第二个出现元素的数组的索引
int nums[] = {1, 2, 1, 7, 3, 1, 2, 0 , 1 , 2, 2 };
尝试获取数组中第二个2的索引。
如果有人能够澄清,会很乐意。我使用了一个for循环和一个计数器,但它似乎并没有工作
我没有为你写代码,但这里的要点是:创建一个变量,告诉你是否见过你数量之前。仔细检查你的数组,并在你第一次看到它设置该变量以记住你已经看到它。下次你看到它时,检查你创建的变量,以确保你已经看到它,然后你会证明你已经看过它两次。此时复制索引。
请参阅下面我的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;
使用地图
的价值在关键的地方,2-次数添加元素。
如果我们在密钥中有1个发生添加元素,并且保留值null或0. 如果我们有2个具有相同密钥的更新元素值通过索引位置。 如果我们有n次发生的话,止回阀为零或0.根据前两个步骤拒绝或更改。
我希望你能理解。
您使用的是编程语言吗? –
我正在使用java – Ben
我将为您添加一个Java标记。祝你好运。 –