**给定一个整数数组和一个整数目标,返回两个数字的索引,使它们相加为目标。
您可以假设每个输入都只有一个解决方案,并且您不能两次使用相同的元素。
您可以以任何顺序返回答案。
例1:
输入:nums=[2,7,11,15],target=9
输出:[0,1]
说明:因为nums[0]nums[1]==9,所以我们返回[0,1]。
例2:
输入:nums=[3,2,4],target=6
输出:[1,2]
例3:
输入:Nums=[3,3],目标=6
输出:[0,1]
**
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] sum = new int[2];
for(int i=0;i<nums.length;i++){
if((nums[i]+nums[i+1]) == target){
sum[0] = i;
sum[1]= i+1;
break;
}
}
return sum;
}
}
警告:命令行选项已启用安全管理器警告:不建议使用安全管理器,并将在未来版本中删除
JAVAlang.ArrayIndexOutOfBoundsException:索引3超出第6行的长度3的界限,解决方案。twoSum
在第54行,驾驶员解决方案。帮手
87号线,司机。主要的
您的问题在于这部分代码:
if((nums[i]+nums[i+1]) == target){
sum[0] = i;
sum[1]= i+1;
break;
}
如果for循环一直持续到i=nums。长度i 1将抛出一个越界异常。
ArrayIndexOutOfBoundsException告诉您试图访问超出数组范围的索引。
解决方案是使用两个循环,因为否则你只是在数组中彼此相邻的数字相加。
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] sum = new int[2];
for(int i=0;i<nums.length-1;i++){
for (j=i+1;j<nums.length;j++){
if((nums[i]+nums[j]) == target){
sum[0] = i;
sum[1]= j;
}
}
return sum;
}
}
您正在将i从0循环到nums。长度,然后试图得到nums[i 1],所以很明显你要求的是ArrayIndexOutOfBoundsException。
既然你在查I1,你应该循环到nums。长度-1
编辑:数组索引是基于零的。它们可以安全地从0索引到长度-1。
给定一个整数数组和一个整数目标,返回两个数字的索引,使它们相加为目标。 警告:命令行选项已启用安全管理器警告:安全管理器已弃用,将在将来的版本中删除 JAVAlang.ArrayIndexOutOfBoundsException:索引3超出第6行的长度3的界限,解决方案。twoSum 在第54行,驾驶员解决方案。帮手 第87行Driver.main
这是我的体格 错误:任务“DemoProject:transformClassesWithJarMergingForDebug”的执行失败。 com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:android/support/v4/提供者/DocumentsContractApi19.
配置根项目“我的应用程序”时出现问题。 未能解析配置“:classpath”的所有工件。无法解析com.android.tools.build:gradle:3.6.2。project:脱机模式下没有com.android.tools.build:gradle:3.6.2的缓存版本。脱机模式下没有com.android.tools.build:gradle:3.6.2的缓存版本。 这是我的错误,我
错误:JAVA_HOME设置为无效目录:/Library/JAVA/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/HOME 请在您的环境中设置JAVA_HOME变量,以匹配您的JAVA安装位置。 更新后,我得到了这种类型的错误。我已经重新安装了jdk,但同样error.Please帮助
帮助,我不能删除表中的最后一行。当我删除其他记录时没有错误,但是最后一个记录,我不能删除它 这是我的代码:
我是Springboot的新手,我通过Sping的教程和“https://spring.io/guides”指南来学习。 现在我试图理解并重做教程:“使用MySQL访问数据” 不幸的是,我在Mavenbuild期间出错: 启动ApplicationContext时出错。要显示自动配置报告,请在启用“调试”的情况下重新运行应用程序。2017-12-07 10:26:42.708错误8100---[m