关关的刷题日记 10 – Leetcode 1. Two Sum 方法 1

关关的刷题日记10 – Leetcode 1. Two Sum 方法1

题目

Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].

题目的意思是找出一个数组中和为给定的目标数的两个数。

思路

思路:最简单的,两重for循环,遍历数组。复杂度O(n2).


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

但是这种题目一般都要求扫一次。two sum, three sum都是很经典的题目,最好自己想出答案,否则以后就没机会想了,毕竟和直接看答案是两个效果。如果还是想不出来,那就看我明天的分享吧。 人生易老,唯有陪伴最长情,加油!

以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。 同时请,关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法等内容。扫一扫下方关注我们的微信公众号。

图片

展开全文
相关主题
Top
微信扫码咨询专知VIP会员