Why I use my way in my computer is success but fail in leetcode test?
When I outprint my answer is correct in this way.
Even just use nums1 = nums3; and outprint it also is correct.
import java.util.*;
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
ArrayList<Integer> _nums1 = new ArrayList<>();
ArrayList<Integer> _nums2 = new ArrayList<>();
for(int i=0;i<nums1.length;i++){
if(nums1[i]!=0){
_nums1.add(nums1[i]);
}
}
for(int i=0;i<nums2.length;i++){
if(nums2[i]!=0){
_nums2.add(nums2[i]);
}
}
ArrayList<Integer> result = new ArrayList<>();
result.addAll(_nums1);
result.addAll(_nums2);
Collections.sort(result);
int x=_nums1.size();
int j=0;
int[] nums3 = new int[_nums1.size()+_nums2.size()];
for(int i=0; i<_nums1.size(); i++){
nums3[i] = _nums1.get(i);
}
for(int i=x; i<_nums1.size()+_nums2.size(); i++){
nums3[i] = _nums2.get(j);
j++;
}
Arrays.sort(nums3);
nums1 = new int[_nums1.size()+_nums2.size()];
/*nums1 = nums3*/
for(int i=0;i<nums1.length;i++){
nums1[i] = nums3[i];
}
}
}
New contributor
richard is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.