为了账号安全,请及时绑定邮箱和手机立即绑定

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

偶然的你 2018-10-23 21:53:55
双层循环遍历方法时LeetCode给出的标准答案如下:public int[] twoSum(int[] nums, int target) {    for (int i = 0; i < nums.length; i++) {        for (int j = i + 1; j < nums.length; j++) {            if (nums[j] == target - nums[i]) {                return new int[] { i, j };             }         }     }    throw new IllegalArgumentException("No two sum solution"); }我觉得最外层的 nums.length 需要改为 nums.length-1才对吧,如果数组有4个元素,那么全程比较 3 趟就可以了,和冒泡排序的外层循环一个道理还是说标准答案这个写有什么隐含用意呢?望赐教
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

不必要的, 因为内层循环不会执行最后的运算的, 因为当 i=nums.length-1, j=i+1 已经不小于 nums.length了

查看完整回答
反对 回复 2018-10-23
  • 1 回答
  • 0 关注
  • 3124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信