import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param milk_production int整型一维数组
* @return int整型
*/
public int cow_hp (int[] milk_production) {
// write code here
Arrays.sort(milk_production); // 将产量提升数组按升序排序
int n = milk_production.length;
int cowIndex = 0; // 初始化乳牛指数
for (int i = 0; i < n; i++) {
int currentN = n - i; // 当前可能的n值
if (milk_production[i] >= currentN) {
cowIndex = Math.max(cowIndex, currentN);
}
}
return cowIndex;
}
}
Java代码。
这道题考察的主要知识点包括:
- 数组排序
- 循环与迭代
以下是代码的文字解释:
- cow_hp 函数接受一个整数数组 milk_production 作为参数,表示牧场主的研究成果产生的乳量提升。
- 使用 Arrays.sort 对 milk_production 数组进行升序排序,以便能够更好地处理乳量提升。
- 初始化变量 cowIndex 用于存储乳牛指数的最大值,初始值设为0。
- 使用循环迭代处理每个研究成果的乳量提升。对于第 i 项成果,至少需要达到剩余未处理成果数目 n - i 的乳量提升。
- 如果当前成果产生的乳量提升大于等于当前可能的 n - i,那么更新乳牛指数 cowIndex 为当前可能的 n - i 和原指数中的较大值。
- 最终返回乳牛指数 cowIndex。

京公网安备 11010502036488号