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

力扣hot100——哈希

1. 两数之和

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

模拟

49. 字母异位词分组

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        vector<vector<string>> res;
        if(strs.empty())
        {
            return res;
        }
        unordered_map<string,vector<string>> mp;
        for(auto str:strs)
        {
            string key=str;
            sort(key.begin(),key.end());
            mp[key].emplace_back(str);
        }

        for(auto it=mp.begin();it!=mp.end();it++)
        {
            res.emplace_back(it->second);
        }

        return res;

    }
};

模拟

128. 最长连续序列

class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        unordered_map<int, int> ump;
        for (auto x: nums) {
            ump[x]++;
        }
        int ans = 0;
        for (auto it = ump.begin(); it != ump.end(); it++) {
            int x = it->first;
            if (ump.count(x - 1)) continue;
            int t = x;
            int s = 0;
            while (ump.count(t)) {
                s++;
                t++;
            }
            ans = max(ans, s);
        }
        return ans;
    }
};

哈希,贪心

每次遇到只需要从一个连续序列的最开始的数查找即可


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

相关文章:

  • 将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(3.纯python的实惠版)
  • C# 委托和事件思维导图
  • Linux——信号量和(环形队列消费者模型)
  • 汇编与逆向(一)-汇编工具简介
  • 兼职全职招聘系统架构与功能分析
  • 小菜鸟系统学习Python第三天
  • ESP8266 Ubuntu 安装
  • vue2 项目webpack 4升5
  • docker xxxx is using its referenced image ea06665f255d
  • 使用echarts实现3d柱状图+折线图
  • Vue3 重置ref或者reactive属性值
  • JAVA企业级项目的日志记录技术
  • 《变形金刚:赛博坦的陨落》游戏启动难题:‘buddha.dll’缺失的七大修复策略
  • 搭建C#开发环境
  • Qt6开发自签名证书的https代理服务器
  • 【Unity/HFSM】使用UnityHFSM实现输入缓冲(预输入)和打断机制
  • Redis API(springboot整合,已封装)
  • Mac上使用ln指令创建软链接、硬链接
  • 模拟法简介(蓝桥杯)
  • Sql注入(靶场)14-20关
  • 力扣.——560. 和为 K 的子数组
  • 关于SQL注入的面试题及经验分享
  • 测试框架 —— Playwright Fixture夹具有效利用的建议指南!
  • Springboot和vue前后端交互实现验证码登录
  • 【Leetcode 每日一题 - 扩展】1326. 灌溉花园的最少水龙头数目
  • 如何在 Ubuntu 22.04 上安装 Strapi CMS