力扣第1题:两数之和(C++)

方法一:双层循环暴力求解

cpp 复制代码
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        int n=nums.size();
        for(int i=0;i<n;i++){
            for(int j=i+1;j<n;j++){
                if(nums[i]+nums[j]==target){
                    return {i,j};// 如果相等,则返回这两个索引组成的向量
                }
            }
        }
        return {};//找不到就返回空向量
    }
};

方法二:哈希表

cpp 复制代码
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int, int> indices;//创建哈希表<数值,索引>
        for (int i = 0; i < nums.size(); i++) {
            int v = nums[i];
            int prevV = target - v;
            if (indices.count(prevV)) {// 检查 prevV 是否在哈希表中存在
                return {i, indices[prevV]};
            }
            indices[v] = i;// 如果没有找到匹配,将当前元素和它的索引存入哈希表
        }
        
        return {};
    }
};
相关推荐
Dola_Zou14 分钟前
工厂智能排产软件算法保护与按产线计费实战
算法·自动化·软件工程·软件加密
码匠许师傅1 小时前
【设计模式精讲】29.行为型模式总结与对比(Behavioral Patterns Summary)
c++·设计模式·uml
啦啦啦啦啦zzzz2 小时前
Logger的组装(c++20)
c++·算法·c++20
尾善爱看海3 小时前
前端算法与手写题集
前端·算法
繁星蓝雨3 小时前
C++的设计与演进大纲(如何从C语言一步步成长为C++)
c语言·开发语言·c++·c++历史·c++演进
程序员阿鹏3 小时前
为什么MySQL InnoDB选择B+树?
数据结构·数据库·b树·sql·mysql·算法·缓存
蒸蒸yyyyzwd4 小时前
机试学习笔记
c++·求职招聘
AI 思录4 小时前
Prompt 事故档案(八):日常表达被标为“待校准”,AI 的爹味语法从哪里来
大数据·人工智能·算法·prompt·用户体验·ai合规
月光船幽幽4 小时前
跨范式映射的稳定接口设计
人工智能·python·算法
handler015 小时前
【Linux】线程与虚拟内存的底层世界
linux·运维·服务器·c++·线程·虚拟地址空间·共享内存