public class Solution {
public void merge(int A[], int m, int B[], int n) {
if (n == 0) {
return;
}
if (m == 0) {
for (int tmp = 0; tmp < n; tmp++) {
A[tmp] = B[tmp];
}
}
int i = 0 , j = 0 , k = 0;
int[] C = new int[m + n];
while(k < m + n){
if(A[i] < B[j]){
C[k] = A[i];
i++;
}else{
C[k] = B[j];
j++;
}
k++;
if(i > m- 1){
break;
}
if(j > n - 1){
break;
}
}
if(i > m- 1){
while(j < n){
C[k] = B[j];
k++;
j++;
}
}
if(j > n - 1){
while(i < m){
C[k] = A[i];
i++;
k++;
}
}
for(int index = 0 ; index < C.length ; index++){
A[index] = C[index];
//System.out.println(C[index]);
}
}
}
昨晚提交了三次,写了半个小时作用,刚刚写了接近10分钟,然后提交的时候发现遇到昨晚遇到的坑,把开始的判断加上去就通过了,写代码到底是靠状态还是靠RP呢?