题解 | #牛的品种排序I# java
牛的品种排序I
https://www.nowcoder.com/practice/e3864ed7689d460c9e2da77e1c866dce
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param cows int整型一维数组 * @return int整型一维数组 */ public int[] sortCows (int[] cows) { // write code here int zero = 0; int one = cows.length - 1; while (zero <= one) { if (cows[zero] == 1) { int temp = cows[zero]; cows[zero] = cows[one]; cows[one--] = temp; } else { zero++; } } return cows; } }
编程语言是Java。
该题考察的知识点:
- 数组操作
- 循环和条件语句
代码的文字解释大纲:
- 在
Solution
类中创建一个名为sortCows
的方法,该方法接收一个整型数组cows
作为参数,并返回一个整型数组作为结果。 - 声明两个变量
zero
和one
,分别初始化为0和数组长度减1。zero
用于标记0的位置,one
用于标记1的位置。 - 使用while循环,判断条件是当
zero
小于等于one
时执行以下操作:如果当前元素cows[zero]等于1,则交换cows[zero]和cows[one]的值,并将one减1。否则,递增zero。 - 循环结束后,返回排序后的数组
cows
作为结果。