代码编织梦想

题干:

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target的那两个整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

提示:

  • 2 <= nums.length <= 104
  • -109 <= nums[i] <= 109
  • -109 <= target <= 109
  • 只会存在一个有效答案

优解:

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

想法:

用的两层for循环,没想到这个。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_59957669/article/details/131135639

leetcode刷题(acm模式)-04字符串-爱代码爱编程

参考引用:代码随想录 注:每道 LeetCode 题目都使用 ACM 代码模式,可直接在本地运行,蓝色字体为题目超链接 1. 反转字符串 344. 反转字符串 编写一个函数,其作用是将输入的字符串反转

leetcode 按摩师 python-爱代码爱编程

目录   1.题目描述 2.普通解法(通过部分测试用例) ​编辑 3.动态规划解法 3.题目总结   1.题目描述 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。

day15 | 层序遍历、 226.翻转二叉树、 101. 对称二叉树-爱代码爱编程

目录: 链接 题目链接: 解题及思路学习 层序遍历 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 随想录:借助一个队列实现。 102. 二叉树的层序遍历

【leetcode】23. 合并 k 个升序链表-爱代码爱编程

23. 合并 K 个升序链表(困难) 方法一:顺序合并 思路 ListNode* mergeTwoLists(ListNode *a, ListNode *b) { if ((!a) || (!

【leetcode30天带刷】day04链表——24. 两两交换链表中的节点, 19.删除链表的倒数第n个节点 ,面试题 02.07. 链表相交-爱代码爱编程

 题目:24. 两两交换链表中的节点 Leetcode原题链接:24. 两两交换链表中的节点  给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:h

【力扣周赛】第348场周赛-爱代码爱编程

【力扣周赛】第348场周赛 2716. 最小化字符串长度题目描述解题思路 2717. 半有序排列题目描述解题思路 2718. 查询后矩阵的和题目描述解题思路 2719. 统计整数数目题目

【2611. 老鼠和奶酪】-爱代码爱编程

来源:力扣(LeetCode) 描述: 有两只老鼠和 n 块不同类型的奶酪,每块奶酪都只能被其中一只老鼠吃掉。 下标为 i 处的奶酪被吃掉的得分为: 如果第一只老鼠吃掉,则得分为 reward1[i] 。如果第二只老