首页 > 其他分享 >力扣前1500道非会员题刷题笔记

力扣前1500道非会员题刷题笔记

时间:2024-10-27 22:20:19浏览次数:7  
标签:return target nums 复杂度 力扣 1500 heap 非会员

Problem: 1. 两数之和

思路

首先定义一个unordered_map<int, int> heap, 用来记录数组nums中对应的数的下标
然后在一个for循环里遍历nums数组
用r记录target与当前数组的值的差值,再从当前数的前面找有没有这个差值,也就是heap.count(r), 如果有则返回{heap[r], i}, 如果没有就把当前的数以及它的下标记录进map,heap[nums[i]] = i;
最后因为力扣的严谨,循环外加一个return {};

解题过程

根据思路直接用c++打出来即可

复杂度

时间复杂度:

O(n)

空间复杂度:

O(n)

Code (c++)

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

作者:Focused Maxwell5f0(即是我本人,你们也可以去关注我的力扣账号(*^▽^*)
链接:https://leetcode.cn/problems/two-sum/solutions/2967806/liang-shu-zhi-he-ti-jie-by-focused-maxwe-6md1/
来源:力扣(LeetCode)

标签:return,target,nums,复杂度,力扣,1500,heap,非会员
From: https://www.cnblogs.com/sunyingee/p/18509125

相关文章

  • java算法:力扣动态规划公式和例子,套这个就够了!
    持续更新…(跟着代码随想录总结的)使用场景:只要数值无限依赖于前面的数值就可以套用这个公式五步法dp数组及下标的含义递推公式dp数组如何初始化遍历顺序打印dp数组经典举例:斐波那契数斐波那契数是:一个数组得的某个数字等于前两个数字之和dp[i]dp[i][j]......
  • 力扣每日一题3181.执行操作可获得的最大总奖励2
      题目描述:给你一个整数数组 rewardValues,长度为 n,代表奖励的值。最初,你的总奖励 x 为0,所有下标都是 未标记 的。你可以执行以下操作 任意次 :从区间 [0,n-1] 中选择一个 未标记 的下标 i。如果 rewardValues[i] 大于 你当前的总奖励 x,则将 rewardVa......
  • 力扣练习1355.活动参与者
    1355.活动参与者一、题目链接二、题目描述三、建表语句四、题目解答1、思路1讲解2、代码1实现3、思路2讲解4、代码2实现五、知识总结一、题目链接1355.活动参与者二、题目描述表:Friends±--------------±--------+|ColumnName|Type|±--------------±......
  • 力扣练习1264.页面推荐
    1264.页面推荐一、题目链接二、题目描述三、建表语句四、题目解答1、思路讲解2、代码实现五、知识总结一、题目链接1264.页面推荐(需要会员)二、题目描述朋友关系列表:Friendship±--------------±--------+|ColumnName|Type|±--------------±--------+......
  • 力扣 简单 111.二叉树的最小深度
    文章目录题目介绍题解题目介绍题解最小深度:从根节点到最近叶子结点的最短路径上节点数量。分三种情况讨论即可:当前节点为空,则返回当前节点minDepth=0;当前节点左右子树都存在,则返回当前节点minDepth=左右子树最小深度的最小值+1;当前节点的左右子树其中一个不存......
  • 力扣 简单 70.爬楼梯
    文章目录题目介绍题解题目介绍题解思路分析:确定dp数组以及下标的含义:dp[i]:爬到第i层楼梯,有dp[i]种方法确定递推公式:从dp[i]的定义可以看出,dp[i]可以有两个方向推出来。首先是dp[i-1],上i-1层楼梯,有dp[i-1]种方法,那么再一步跳一个台阶不就是dp[i]了么。还有......
  • SQL实战训练之,力扣:1709. 访问日期之间最大的空档期
    目录        一、力扣原题链接        二、题目描述        三、建表语句        四、题目分析                五、SQL解答        六、最终答案        七、验证        八、知识点一、......
  • 二叉树习题其三-Java【力扣】【算法学习day.10】
    前言书接上篇文章二叉树习题其二,这篇文章我们将基础拓展###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!习题1.从中序与后序遍历序......
  • 轮转数组——力扣189题
    力扣189题轮转数组,本身很简单,但是反复提交很多次都没有成功,实在是让人难以启齿,分析应该还是概念不清晰导致的,自以为理解得很清楚,实际确实模棱两可。把数组后几个移动到前面的位置上去,按照我最开始的想法,不过就是切片,把后半部分切下来,形成的两个半个数组再加起来不就是了吗?在py......
  • 哈哈哈!力扣80题击败100%
    实在没想到能击败100%,忍不住嘚瑟一下:这道题是leetcode第26题的姐妹篇,也是删除有序数组中的重复元素,但是重复元素需要保留两个。增加的这个小小要求可是不容易搞。按照第26题的思路,不外乎双指针,设置一个起始指针(简称后指针)作为参照元素的索引号,以另外一个指针(简称前指针)控制......