题解 | #牛的品种排序II# java

牛的品种排序II

https://www.nowcoder.com/practice/43e49fbb98b4497ba46e185918188b1c

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param cows int整型一维数组
     * @return int整型一维数组
     */
    public int[] sortCows (int[] cows) {
// write code here
        int[] v = new int[cows.length];
        int i = 0, j = cows.length - 1;
        for (int k = 0; k < cows.length; ++k) {
            if (cows[k] == 0)
                v[i++] = 0;
            else if (cows[k] == 2)
                v[j--] = 2;
        }
        for (int k = i; k < cows.length; ++k) {
            if (v[k] == 0)
                v[k] = 1;
        }
        return v;
    }
    }

该代码使用的编程语言是Java

该题考察的知识点是数组的遍历和排序。

通过一次循环遍历输入的cows数组,根据不同的值将元素放入v的不同位置。当遇到0时,将其放在v的前面部分,通过i来控制前面部分的索引;当遇到2时,将其放在v的后面部分,通过j来控制后面部分的索引。

遍历结束后,再进行一次循环遍历v,将剩余的0替换为1。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务