如何在具有正值和负值的数组中找到最大的负值?
我需要返回最大的负值,如果没有负值,则需要返回零。这是我所拥有的:
public int greatestNegative(int[] list) { for (int i = 0; i < list.length; i++) {
if (list[i] < 0)
negativeNumbers ++;
}
int j = list.length - 1;
while (j >= 0) {
if (list[j - negativeNumbers] < 0) {
list[j] = 0;
list[j - 1] = list[j - negativeNumbers];
negativeNumbers--;
j--;
}
else{
list[j] = list[j - negativeNumbers];
j--;
}
}
}
回答:
您只需要考虑以下两个步骤即可解决此问题:
- 只考虑list []中的负值。
- 在负值范围内的循环中,如果(结果== 0)或(值>结果)更新当前结果。
码:
public int greatestNegative(int[] list) { int result = 0;
for (int i = 0; i < list.length; i++) {
if (list[i] < 0) {
if (result == 0 || list[i] > result) {
result = list[i];
}
}
}
return result;
}
以上是 如何在具有正值和负值的数组中找到最大的负值? 的全部内容, 来源链接: utcz.com/qa/408366.html