最近、4つのテストケースの出力が間違っているという質問があったLinkedin配置テストを受けました。私は入力/出力が隠されていたので、私の間違いは何だったのか分かりませんでした。他の二つの要素の積は、その数に等しくなるとその数.IFないを返す配列から最大の要素を検索し、そのような要素は、次に、リターンある配列からの最大数は、その配列内の他の2つの数字の積に等しい
:
はとにかくここで問題でした-1。ここで
私の解決策だった:私はあなたが配列と配列内の2つの要素の積で可能な最大数を見つける必要があると思います
static int maxElement(int[] arr) {
Arrays.sort(arr);
int max = arr[arr.length-1];
int result = 0;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
result = arr[i] * arr[j];
if (result == max) {
return max;
}
}
}
return -1;
}
何のテストケースだったと、彼らがどのように(どのようなメッセージ付き)が失敗したのか? –
あなたのコードは、-1または配列の最大値(その数が他の2つの要素の積である場合)を返すことができます。他の要素の1つが操作の結果である場合、どうでしょうか? –