LeetCode 1.两数之和 数组 暴力遍历 枚举

LeetCode为算法面试刷题领域最知名的网站之一,其中大量的算法题值得我们思考。

一步一个脚印,开始刷LeetCode吧。

第一题,给了一个数组nums和一个目标值target,问数组nums中的哪两个数之和是目标值target,且保证只有一组数据满足。

使用暴力枚举,是最容易想到的解法,其复杂度是O(n2),看其数据个数在104之内,这个算法只能进行很简单的循环,很巧(shui),就正好把这道题水啊不是,巧过了。

第一次来到LeetCode刷题,其提交页面和其他网站不太一样,例如这道题的代码:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        int i,j;
        for(i=0;i<nums.size()-1;i++)
        {
            for(j=i+1;j<nums.size();j++)
            {
                if(nums[i] + nums[j] == target)
                {
                    cout << i << " " << j;
                    return {i,j};
                }
            }
        }
        return {i,j};
    };
};

使用C++的类,在public中写一个函数,自己不用写头文件和主函数,甚至使用了vector容器,返回值为{i,j}。

你可能感兴趣的:(LeetCode,动态规划,算法,数据结构,c++,leetcode)