1. 两数之和

简介: 1. 两数之和

1. Two Sum


精彩评论

 有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来。


方法一:暴力枚举

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


方法二:哈希表

 暴力解法的时间复杂度过高,考虑使用一种方法将遍历过的信息存储起来,可以选择哈希表的方式,以空间换时间。可以先查询哈希表里是否存在target-x,如果不在就存进去,找到了就返回下标。

class Solution
{
public:
    vector<int> twoSum(vector<int> &nums, int target)
    {
        unordered_map<int, int> hashtable;
        for (int i = 0; i < nums.size(); i++)
        {
            int cut = target - nums[i];
            auto it = hashtable.find(cut);
            if (it != hashtable.end())
            {
                return {it->second, i};
            }
            else
            {
                hashtable[nums[i]] = i;
            }
        }
        return {};
    }
};


总结

 只会暴力是没救的

目录
相关文章
|
API Android开发 开发者
Android UI设计: 什么是RecyclerView?为什么它比ListView更好?
Android UI设计: 什么是RecyclerView?为什么它比ListView更好?
566 2
|
数据安全/隐私保护 Windows
|
算法 程序员 Go
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
|
程序员 编译器 C++
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用(一)
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用
916 0
|
XML SQL JSON
从入门到实战编写Python Poc利用!
从入门到实战编写Python Poc利用!
|
计算机视觉
The specified pixels is not supported
The specified pixels is not supported
752 1
|
数据可视化 Java 测试技术
IDEA快速构建UML类图
IDEA快速构建UML类图
1615 1
Landsat卫星分幅:WRS条带号Path、Row介绍与矢量文件获取
本文介绍Landsat系列卫星的分幅规则,并提供WRS的矢量文件下载~
1663 1
Landsat卫星分幅:WRS条带号Path、Row介绍与矢量文件获取
|
运维 Kubernetes Serverless
蚂蚁 SOFAServerless 微服务新架构的探索与实践
蚂蚁集团 SOFAServerless 在微服务架构创新中的探索与实践。
蚂蚁 SOFAServerless 微服务新架构的探索与实践
|
弹性计算 负载均衡 网络协议
云:SLB
SLB定义及原理
381 0

热门文章

最新文章