/*
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数, 并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
你可以按任意顺序返回答案。
*/
class Solution {
public int[] twoSum(int[] nums, int target) {
//用数组中的一个元素值,加上其它的元素值,看看是否等于target,已经使用过的组合就不再使用了
for(int i = 0;i < nums.length;i++){
for(int j = i + 1;j < nums.length;j++){
//用一个元素值和它后面的所有元素值相加,以此类推
if(target == (nums[i] + nums[j])){
return new int[]{i,j};
}
}
}
return new int[0];
}
}
java中 return new int[0]; 的意义
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- 西风逐白马 2021-02-17 23:29关注
1.public int[] twoSum(int[] nums, int target),方法定义了返回int[](也就是int数组类型)
2.return new int[0];中new int[0]代表着创建了一个长度为0的int数组,这里与int[] arr = new int[0]进行对比可能更容易理解,后者是创建了数组并将其引用赋值给变量arr,return new int[0];而这里并没有赋值操作,而是直接返回了这个数组
3.这段代码中如果
if(target == (nums[i] + nums[j])){
return new int[]{i,j};
}
这段代码判断为true则进入if语句的执行代码,return new int[]{i,j};,也就是找到了目标值,结束方法返回目标值为数组的类型,若是if语句判断为false则不进入,直到所有循环结束都没有找到就会顺序执行,执行return new int[0],返回一个长度为0的数组,长度为0的数组也是个数组,存在引用
解决 24无用
悬赏问题
- ¥15 安装svn网络有问题怎么办
- ¥15 Python爬取指定微博话题下的内容,保存为txt
- ¥15 vue2登录调用后端接口如何实现
- ¥65 永磁型步进电机PID算法
- ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
- ¥88 找成都本地经验丰富懂小程序开发的技术大咖
- ¥15 如何处理复杂数据表格的除法运算
- ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
- ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
- ¥15 latex怎么处理论文引理引用参考文献