讨论/《初级算法》 - 两数之和/
《初级算法》 - 两数之和
//其实没感觉什么哈希表,就是暴力破解法,不过暴力破解经过了一点点改进。
//就是先算出target-nums[i],再去和数组里的元素nums[j]比。
//而不是一个个计算nums[i]+[j]再判断是不是和等于target。
//假设一共有n个元素,显然**后者**的计算加法的次数最多为(n-1)+(n-2)+(n-3)+...+3+2+1=n(n-1)/2次;
//而**前者**只需要计算减法最多n-1次;这样优劣就很显然了;
//C++新手,可能不是说得不是很专业
代码块
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        int t=0,i=0,j=0;
        for(;i<nums.size();i++)
        {   
            t=target-nums[i]; 
            for(j=i+1;j<nums.size();j++)       
            if(nums[j]==t)
            return{i,j};
        }
        return{i,j};
    }

};

屏幕截图 2021-04-08 194432.png

5
展开全部 40 讨论