题解 | #牛的品种排序II#
牛的品种排序II
https://www.nowcoder.com/practice/43e49fbb98b4497ba46e185918188b1c
知识点:排序
题目给出一个只有0,1,2的数组,我们需要将其顺序排列,我们可以先找出数组中0,1,2的个数,也就是确定0,1,2的边界位置,得到个数之后,我们就可以根据下标来确定该位置的具体元素。
Java题解如下
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param cows int整型一维数组 * @return int整型一维数组 */ public int[] sortCows (int[] cows) { // write code here int n = cows.length; int[] res = new int[n]; int left = 0, right = n - 1; for(int i = 0; i < n; i++) { if(cows[i] == 0) { left++; }else if(cows[i] == 2) { right--; } } for(int i = left; i < n; i++) { if(i <= right) { res[i] = 1; }else { res[i] = 2; } } return res; } }