当前位置: 首页 > article >正文

【力扣专题栏】两数之和,两种解法实现该题。

在这里插入图片描述

题解目录

  • 1、题目描述+解释
    • 2、算法原理解析
      • 3、代码编写
        • (1)、暴力解法代码
        • (2)、利用哈希表解题代码

1、题目描述+解释

在这里插入图片描述

2、算法原理解析

在这里插入图片描述

3、代码编写

(1)、暴力解法代码
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        int i=0;
        int n=nums.size();
        for(i=0;i<n;i++)
        {
            int j=0;
            for(j=i+1;j<nums.size();j++)
            {
                if(nums[i]+nums[j]==target)
                {
                    return {i,j};
                }
            }
        }
        return {};
    }
};
(2)、利用哈希表解题代码
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        //创建哈希
        unordered_map<int,int> hash;//存储的是键值对<nums[i],i>
        int i=0;
        for(i=0;i<nums.size();i++)
        {
            //先判断原哈希表中是否存在target-nums[i]
            int x=target-nums[i];
            if(hash.count(x))
            {
                //若存在就返回
                return {hash[i],i};
            }
            //不存在就把该数放进哈希表中
            hash[nums[i]]=i;
        }        
        return {-1,-1};
    }
};

http://www.kler.cn/a/377774.html

相关文章:

  • 【debug】
  • MySQL 数据”丢失”事件之 binlog 解析应用
  • 赛博错题本
  • 使用“NodeMCU”、“红外模块”实现空调控制
  • Ruby+Selenium教程
  • NI GPIB通讯错误码含义
  • python数据类型-8-数据结构-Queue (队列)
  • leetcode3. Longest Substring Without Repeating Characters
  • 获取Hive表备注
  • nodejs入门教程16:nodejs res
  • 基于MATLAB多参数结合火焰识别系统
  • 【系统面试篇】进程和线程类(1)(笔记)——区别、通讯方式、同步、互斥、死锁
  • AI周报(10.27-11.02)
  • 实现短信中带有链接,直接打开微信小程序
  • Xamarin 实现播放视频 MP4
  • 你竟然还不了解 LDAP?
  • 【运维类】服务器日常维护清单及检查表,运维巡查,设备巡检,服务器检查(Word原件)
  • leetcode hot100【LeetCode 139. 单词拆分】java实现
  • NLP segment-01-聊一聊分词 AI 的基础
  • flutter 写个简单的界面
  • H5页面在线预览pdf
  • ceph补充介绍
  • [论文阅读]A Survey of Embodied Learning for Object-Centric Robotic Manipulation
  • 编写dockerfile生成镜像,并且构建容器运行
  • Javascript数据结构与算法——栈与队列
  • 自然语言处理领域中的两个主要技术挑战:实体歧义和上下文管理