gpt4 book ai didi

java - 合并排序数组中的 ArrayIndexOutOfBoundsException

转载 作者:行者123 更新时间:2023-12-01 17:50:36 26 4
gpt4 key购买 nike

我有两个数组 nums1 和 nums2,其中元素为 m 和 n。nums1 数组具有大于或等于“m+n”的额外空间......用于添加 nums2 元素。我首先将 nums2 中的元素添加到 nums1。然后对它进行排序。我收到“ArrayIndexOutOFBoundsException”。

class Solution
{
public void merge(int[] nums1, int m, int[] nums2, int n)
{
int index=nums1.length-1;
int temp;
for(int i=nums2.length-1;i>=0;i--)
{
nums1[index--]=nums2[i];
}
for(int i=0;i<nums1.length;i++)
{
for(int j=i+1;j<nums1.length;j++)
{
if(nums1[i]>nums1[j])
{
temp=nums1[i];
nums1[i]=nums1[j];
nums1[j]=temp;
}
}
}
for(int j=0;j<nums1.length;j++)
{
System.out.print(nums2[j]+" ");
}
}
}

最佳答案

与您的 for 语句相关的问题

for (int i = nums2.length -1; i >= 0; i--){
nums1[index--] = nums2[i];// if nums2.length longer than nums1 there will be exception
}

结束,你没有合并它,而是将 nums2 写在 nums1 上如果您确定 nums1 有足够的大小,则必须将 i 添加到索引;

for (int i = nums2.length -1; i >= 0; i--){
nums1[index +i] = nums2[i];
}

关于java - 合并排序数组中的 ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60802292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com