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。

京公网安备 11010502036488号