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

力扣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.lryc.cn/news/506660.html

相关文章:

  • 少样本学习之CAML算法
  • C# 中的闭包
  • 网络编程 03:端口的定义、分类,端口映射,通过 Java 实现了 IP 和端口的信息获取
  • 制作项目之前的分析
  • LeetCode 1925 统计平方和三元组的数目
  • java开发入门学习三-二进制与其他进制
  • C/S软件授权注册系统(Winform+WebApi+.NET8+EFCore版)
  • Linux —— 管理进程
  • Diffusino Policy学习note
  • 【Python】*args和**kwargs
  • 使用正则表达式提取PDF文件页数的实现方案
  • Android实现RecyclerView边缘渐变效果
  • springboot443旅游管理系统(论文+源码)_kaic
  • 利用git上传项目到GitHub
  • Rust之抽空学习系列(四)—— 编程通用概念(下)
  • K-Means 聚类:数据挖掘的瑞士军刀
  • 项目练习:若依-前端项目的目录结构介绍
  • 知网研学 | 知网文献(CAJ+PDF)批量下载
  • 设计模式期末复习
  • CentOS7源码编译安装nginx+php+mysql
  • linux CentOS系统上卸载docker
  • css中相对定位的应用场景
  • Android 获取屏幕物理尺寸
  • C缺陷与陷阱 — 8 编译与链接
  • 知识分享第三十天-力扣343.(整数拆分)
  • Springboot 整合DL4J 打造智能写作助手(文本生成)
  • SPL06 基于stm32F103 HAL库驱动(软件模拟IIC)
  • 【C#】List求并集、交集、差集
  • YOLOv8目标检测——详细记录使用ONNX Runtime进行推理部署C++/Python实现
  • mfc140u.dll是什么文件?如何解决mfc140u.dll丢失的相关问题