对于输入数组{1,3,2,9},输出为3(arr [3]!= arr [0])
对于输入数组{1,3,2,9,1},输出为3(arr [3]!= arr [0])
我认为没有比n ^ 2循环更有用的解决方案
import java.util.*;
class Solution {
int getTheDiff(int[] A) {
int N = A.length;
int result = 0;
for (int i = 0; i < N; i++)
for (int j = i; j < N; j++)
if (A[i] != A[j])
result = Math.max(result, j - i);
return result;
}
}
此代码已替换为
int diff = 0;
int i =0;
int[] arr = {-1,-2,-3,-5,-73};
for (int j = 1; j < arr.length; j++) {
if(arr[j] != arr[i]) {
diff = Math.max(diff,j-i);
}
}
System.out.println(diff);
但仍未能执行所有测试用例,不知道出了什么问题。
答案 0 :(得分:0)
基本理念:答案是第一个非重复值与terminal value
之间的差异(在索引{{1 }或0
)。
A.length - 1