题解 | #乳牛研究成果评估#
乳牛研究成果评估
https://www.nowcoder.com/practice/00e2e90dd8a24e1695cee8c3cb339390
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 maxHp = 0; // 乳牛指数 for (int i = 0; i < n; i++) { int minN = Math.min(milk_production[i], n - i); // 选取乳量提升和当前剩余成果数中的较小值 maxHp = Math.max(maxHp, minN); // 更新乳牛指数 } return maxHp; } }
Java 编程语言。
该题考察了以下知识点:
- 数组排序
- 数组遍历
- 条件判断和取最值
代码的文字解释如下:
- 对成果产生的乳量提升数组进行排序,以便能够从小到大遍历。
- 创建一个变量
maxHp
,用于记录乳牛指数的最大值。 - 使用循环遍历数组中的每个元素,其中
i
表示当前遍历到的索引。 - 对于每个元素,计算其值与当前剩余成果数
n - i
的较小值,表示至少发现的研究成果数量,记为minN
。 - 更新
maxHp
为maxHp
和minN
中的较大值,以获取乳牛指数的最大值。 - 返回计算得到的
maxHp
,即为牧场主的乳牛指数。