I found similar关于将两个数组列表交错为一个的问题,但它是在 PHP 中。我在面试中也被问到这个问题,但无法解决,回到SO看看是否已经解决,但我只能找到这个paper
那么有指向伪代码或方法定义的指针吗?
Big(O) 限制:O(n) - 时间成本和 O(1) - 空间成本
Example:
a[]= a1, a2, ..., an
b[]= b1, b2, ..., bn
将数组列表重新排列为 a1, b1, a2, b2, ..., an, bn
Editv1.0:数组列表 a[] 和 b[] 大小相同
Editv2.0:如果问题扩展为在给定的两个数组之一中重新排列,但不创建新数组怎么办?
为简单起见,假设数组长度相同,并且int
arrays.
int[] merge(int[] a, int[] b)
{
assert (a.length == b.length);
int[] result = new int[a.length + b.length];
for (int i=0; i<a.length; i++)
{
result[i*2] = a[i];
result[i*2+1] = b[i];
}
return result;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)