Java 什么';这是b[a[i]-1]和#x2B+;?
我刚找到一段我不懂的代码Java 什么';这是b[a[i]-1]和#x2B+;?,java,Java,我刚找到一段我不懂的代码 b[a[i] - 1]++; 这就是背景 int firstDuplicate(int[] a) { int[] b = new int[a.length]; for (int i = 0; i < a.length; i++) { b[a[i] - 1]++; if (b[a[i] - 1] > 1) { return
b[a[i] - 1]++;
这就是背景
int firstDuplicate(int[] a) {
int[] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
b[a[i] - 1]++;
if (b[a[i] - 1] > 1) {
return a[i];
}
}
return -1;
}
有人能给我解释一下吗?
a[]
是一个整数数组
b[a[i]
表示索引a[i]
处的数组中的b
e、 g
在这里,b[a[0]
将为您提供20
,因为a[0]
返回1
,b[1]
是20
在你的代码中,它是b[a[i]-1]++
,相当于b[a[i]-1]=b[a[i]-1]+1
从my中提取,例如,如果i=0
b[a[0]-1]
将为您提供10
作为输出
而且b[a[0]-1]++
将b[0]
处的值修改为11
数组“a”必须包含不小于1且不大于“a.length”的正整数
这段代码创建了一个数组“b”,以跟踪每个整数的显示数量
例如,b[0]表示1的数量,b[1]表示2的数量,依此类推
通过执行b[…]++可以增加该位置的计数。
b[a[i]-1]+
表示索引a[i]处的b
数组-1
现在是+=1
它只是一个由表达式索引的数组,而不是一个你可能已经习惯看到的文字或变量。在i
处,将b
的元素增加到a
的元素减去1。你明白这个函数想要实现什么吗?我想我明白了,但如果你能解释给我听,那就最好了。谢谢你的解释,我想我明白了。
int test[] = {2, 3, 3, 1, 5, 2};
a[] = {1, 2, 3} & b[] = {10, 20, 30}