LeetcodeSort Array By Parity II

Posted 一只桃子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetcodeSort Array By Parity II相关的知识,希望对你有一定的参考价值。

这题做了一个time limit exceeded

public int[] sortArrayByParityII(int[] A) {
LinkedList<Integer> list = new LinkedList<Integer>();
for (int i = 0; i < A.length; i++)
list.add(A[i]);//list.add()返回的是boolean类型 即是否添加成功
for(int i=0;i<list.size();i++)
System.out.print(list.get(i)+" ");
System.out.println();
for (int i = 0, j = 1, k = 0; k < A.length; k++) {
if (list.get(k) % 2 == 0) {//发现得到的数是偶数
A[i] = list.get(k);
i += 2;
} else {
A[j] = list.get(k);
j += 2;
}
}
return A;
}

 

 

Solutions:

public int[] sortArrayByParityII(int[] A) {
int i=0,j=1,n=A.length;
while (i<n&&j<n){
while (i<n&&A[i]%2==0)
{
i=i+2;
} //该位置是偶数的话就一直skip 直到找到第一个在偶数位置的奇数
while (j<n&&A[j]%2==1){
j+=2;
}//该位置是奇数的话就一直skip 直到找到第一个在奇数位置的偶数
swap(A,i,j);
}
return A;
}
public void swap(int [] Array,int i,int j){
int temp=Array[i];
Array[i]=Array[j];
Array[j]=temp;
}

以上是关于LeetcodeSort Array By Parity II的主要内容,如果未能解决你的问题,请参考以下文章

markdown Parâmetros - Como montar um array de concatenar com um valor final em ambos registros

从嵌套 SQL 查询中选择 TOP 或 GROUP BY 排名数据

php order by rand()问题

922. Sort Array By Parity II

905. Sort Array By Parity

LEETCODE41905. Sort Array By Parity