我需要返回最大的负值,如果没有负值,则需要返回零。这是我所拥有的:
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--; } } }
您只需要考虑以下两个步骤即可解决此问题:
码:
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; }