美文网首页
LeetCode 刷题第一天

LeetCode 刷题第一天

作者: 泓远_d2a3 | 来源:发表于2017-07-24 16:24 被阅读0次

题目:

Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,return [0,1]

初次看到这个题目,第一反应是双层循环每一个元素和之后的所有元素相加。然后返回下标值。

public class Solution {
    public int[] twoSum(int[] nums, int target) {
        for(int i = 0;i<=nums.length-1;i++){
            for(int j =i+1;j<nums.length;j++){
                if(nums[i]+nums[j]==target){
                    int[] su = {i,j};
                    return su;
                }
             }
       }
      throw new IllegalArgumentException("No two sum solution");
    }
}

这里有几个注意点:

  • 数组的长度为属性
  • 必须有可靠的返回值

写完代码后达到标准,在所有提交中运行情况如下

Paste_Image.png

明显发现运行情况不理想,这可以理解,双层循环的算法复杂度为 o(n^2)

相关文章

网友评论

      本文标题:LeetCode 刷题第一天

      本文链接:https://www.haomeiwen.com/subject/ksvbkxtx.html