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

力扣热题100道-哈希篇

哈希

1.两数之和

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

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

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

示例 1:

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

示例 2:

输入:nums = [3,2,4], target = 6
输出:[1,2]

示例 3:

输入:nums = [3,3], target = 6
输出:[0,1]
/*
思路:
采用哈希表:
如果target-nums[i]有值,就输出i与target-nums[i]的下标
如果target-nums[i]无值,就将nums[i]的下标i存到哈希表中
*/
class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> hash;for(int i=0;i<nums.size();i++){if(hash.count(target-nums[i])){return {hash[target-nums[i]],i};}else  hash[nums[i]] = i;}return {-1,-1};}
};

49.字母异位词分词

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

示例 1:

输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
输出: [["bat"],["nat","tan"],["ate","eat","tea"]]

示例 2:

输入: strs = [""]
输出: [[""]]

示例 3:

输入: strs = ["a"]
输出: [["a"]]
/*
思路 先对每个字符串进行排序,相同顺序的存到哈希表中
最后将相同顺序的存到一个vector<string>中
*/
class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {unordered_map<string,vector<string>> hash;string str;for(int i=0;i<strs.size();i++){str=strs[i];sort(str.begin(),str.end());hash[str].push_back(strs[i]);}vector<vector<string>> res;for(auto [x,c]:hash){res.push_back(c);}return res;}
};

128.最长连续序列

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

请你设计并实现时间复杂度为 O(n) 的算法解决此问题。

示例 1:

输入:nums = [100,4,200,1,3,2]
输出:4
解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。

示例 2:

输入:nums = [0,3,7,2,5,8,4,6,0,1]
输出:9
/* 
思路:
采用一个无序集合,存储所有非重复的值
遍历无序集合,如果x-1存在则跳过,找到最起始的位置进行遍历,计数。
*/
class Solution {
public:int longestConsecutive(vector<int>& nums) {unordered_set<int> un_set;for(auto c:nums){un_set.insert(c);        }int res = 0;for(auto c:un_set){if(!un_set.count(c-1)){int curnum = c;int curlength = 1;while(un_set.count(curnum+1)){curnum+=1;curlength+=1;}res = max(curlength,res);}}return res;}
};

相关文章:

力扣热题100道-哈希篇

哈希 1.两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你…...

YOLOv7+Pose姿态估计+tensort部署加速

YOLOv7是一种基于深度学习的目标检测算法&#xff0c;它能够在图像中准确识别出不同目标的位置和分类。而姿态估计pose和tensort则是一种用于实现人体姿态估计的算法&#xff0c;可以对人体的关节位置和方向进行精准的检测和跟踪。 下面我将分点阐述YOLOv7姿态估计posetensort…...

gitee+picgo+typora图床搭建

giteepicgotypora图床搭建 1.安装typora 官网下载直接安装&#xff1a;https://www.typora.io/#download 2.编辑typora图像设置 打开 文件 -> 偏好设置 -> 图像设置 插入图片时 选择 上传图片设置 上传服务 为 PicGo-Core(command line) 3.为typora安装PicGo-Core 点…...

Flink项目实战篇 基于Flink的城市交通监控平台(上)

系列文章目录 Flink项目实战篇 基于Flink的城市交通监控平台&#xff08;上&#xff09; Flink项目实战篇 基于Flink的城市交通监控平台&#xff08;下&#xff09; 文章目录 系列文章目录1. 项目整体介绍1.1 项目架构1.2 项目数据流1.3 项目主要模块 2. 项目数据字典2.1 卡口…...

thinkcmf 文件包含 x1.6.0-x2.2.3 已亲自复现

thinkcmf 文件包含 x1.6.0-x2.2.3 CVE-2019-16278 已亲自复现 漏洞名称漏洞描述影响版本 漏洞复现环境搭建漏洞利用 修复建议总结 漏洞名称 漏洞描述 ThinkCMF是一款基于PHPMYSQL开发的中文内容管理框架&#xff0c;底层采用ThinkPHP3.2.3构建。ThinkCMF提出灵活的应用机制&a…...

本地部署 text-generation-webui

本地部署 text-generation-webui 0. 背景1. text-generation-webui 介绍2. 克隆代码3. 创建虚拟环境4. 安装 pytorch5. 安装 CUDA 运行时库6. 安装依赖库7. 启动 Web UI8. 访问 Web UI9. OpenAI 兼容 API 0. 背景 一直喜欢用 FastChat 本地部署大语言模型&#xff0c;今天试一…...

C语言实验1:C程序的运行环境和运行C程序的方法

一、算法原理 这是学C语言的入门&#xff0c;并不需要很高深的知识&#xff0c;一个hello world 或者一个简单的加法即可 二、实验要求 了解所用的计算机系统的基本操作方法&#xff0c;学会独立使用该系统。 了解在该系统上如何编辑、编译、连接和运行一个C程序。 通过运…...

「微服务」微服务架构中的数据一致性

在微服务中&#xff0c;一个逻辑上原子操作可以经常跨越多个微服务。即使是单片系统也可能使用多个数据库或消息传递解决方案。使用多个独立的数据存储解决方案&#xff0c;如果其中一个分布式流程参与者出现故障&#xff0c;我们就会面临数据不一致的风险 - 例如在未下订单的情…...

ARCGIS PRO SDK 要素空间关系

一、要素与要素查询&#xff0c;返回的是bool值 1、 Touches 判断几何要素是否接触 Touches 如果 geometry1 与 geometry2 接触&#xff0c;则返回 true&#xff0c;否则 false。 touches GeometryEngine.Instance.Touches(Geometry1, Geometry2) 2、…...

Python面向对象高级与Python的异常、模块以及包管理

Python面向对象高级与Python的异常、模块以及包管理 一、Python中的继承 1、什么是继承 我们接下来来聊聊Python代码中的“继承”:类是用来描述现实世界中同一组事务的共有特性的抽象模型,但是类也有上下级和范围之分,比如:生物 => 动物 => 哺乳动物 => 灵长型…...

Python 爬取 哔站视频弹幕 并实现词云图可视化

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 环境介绍: python 3.8 解释器 pycharm 编辑器 第三方模块: requests >>> pip install requests protobuf >>> pip install protobuf 如何安装python第三方模块: win R 输入 cmd 点击确定, 输入安装命…...

BP神经网络详细原理,BP神经网络训练界面详解,基于BP神经网络的公司财务风险分类

目录 摘要 BP神经网络参数设置及各种函数选择 参数设置 训练函数 传递函数 学习函数 性能函数 显示函数 前向网络创建函数 BP神经网络训练窗口详解 训练窗口例样 训练窗口四部详解 基于BP神经网络的公司财务风险分类 完整代码下载链接:基于BP神经网络的公司财务风险分类(代码…...

C++ DAY1 作业

1.定义自己的命名空间myspace&#xff0c;并在myspace中定义一个字符串&#xff0c;并实现求字符串长度 #include <iostream>using namespace std; namespace myspace {string str;int length_fun(){getline(cin,str);int i 0;while(str[i] ! \0){i;}return i;}} using…...

「微服务模式」七种微服务反模式

什么是微服务 流行语经常为进化的概念提供背景&#xff0c;并且需要一个良好的“标签”来促进对话。微服务是一个新的“标签”&#xff0c;它定义了我个人一直在发现和使用的领域。文章和会议描述了一些事情&#xff0c;我慢慢意识到&#xff0c;过去几年我一直在发展自己的个人…...

运动耳机哪款性价比最高、性价比最高的运动耳机推荐

近年来&#xff0c;运动蓝牙耳机备受欢迎&#xff0c;成为人们健身时的必备时尚单品。随着蓝牙耳机的不断发展&#xff0c;市场上可供选择的产品种类繁多&#xff0c;因此挑选一款适合自己的蓝牙耳机并不困难。然而&#xff0c;并非每款耳机都适合户外或者运动场景下的使用&…...

FreeRTOS软件定时器

一、简介 二、实验 //创建一个单次定时器和一个周期定时器&#xff0c;打开两个定时器然后等待10s关闭定时器&#xff0c;此时会发现单次定时器打印1次停止&#xff0c;周期定时器打印5次停止 #include "FreeRTOS_demo.h"#define START_TASK_PRIO 1 #define…...

【Java集合类不安全示例】

文章目录 一、List二、Set三、Map 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、List 代码如下&#xff08;示例&#xff09;&#xff1a; public class ZZZZZZZZZZ {public static void main(String[] args) {// ArrList 非线程安全的集合List&l…...

cpp_07_类型转换构造_析构函数_深拷贝_静态成员

1 类型转换构造函数 1.1 why? 基本类型之间的转换&#xff0c;编译器内置转换规则&#xff1a;int -> double 类类型之间的转换&#xff0c;编译器不知道转换规则&#xff0c;需要用户提供&#xff1a;Cat -> Dog // consconv_why.cpp 为什么需要自定义转换 #includ…...

Java 已死、前端已凉?

文章目录 Java 的现状前端技术的现状分析结论 关于“Java 已死、前端已凉”的言论&#xff0c;这种说法更多地反映了行业对技术趋势的一种情绪化反应&#xff0c;而不一定是基于事实的判断。下面我来具体分析这个话题。 Java 的现状 Java 的普及与稳定性&#xff1a;Java 作为一…...

Calico IP_AUTODETECTION_METHOD

在 Calico 中&#xff0c;IP_AUTODETECTION_METHOD 的配置项用于指定 Calico 如何检测容器的 IP 地址。 一、kubernetes-internal-ip模式 其中&#xff0c;kubernetes-internal-ip 是一种特殊的模式&#xff0c;用于在 Kubernetes 环境中检测容器的 IP 地址。具体作用如下&…...

体验人机协同:在快马平台利用ai辅助开发优化天气查询代码

最近在做一个天气查询的小工具&#xff0c;原本的代码功能很简单&#xff0c;就是从API获取数据然后打印出来。但实际用起来发现很多问题&#xff1a;网络不好的时候直接崩溃&#xff0c;返回的数据格式也经常对不上。正好在InsCode(快马)平台上看到了AI辅助开发的功能&#xf…...

OpenClaw定时任务系统:ollama-QwQ-32B每日早报自动生成与推送

OpenClaw定时任务系统&#xff1a;ollama-QwQ-32B每日早报自动生成与推送 1. 为什么需要自动化晨报系统 每天早上打开电脑&#xff0c;我都会被各种信息轰炸——行业新闻、技术动态、待办事项、会议安排...手动整理这些内容至少需要半小时。直到我发现OpenClawollama-QwQ-32B…...

应对复杂代码库学习难题:AI驱动的智能分析工具

应对复杂代码库学习难题&#xff1a;AI驱动的智能分析工具 【免费下载链接】Tutorial-Codebase-Knowledge Turns Codebase into Easy Tutorial with AI 项目地址: https://gitcode.com/gh_mirrors/tu/Tutorial-Codebase-Knowledge 在快速发展的技术环境中&#xff0c;开…...

3分钟搞定Windows启动盘制作:WinDiskWriter让macOS用户告别复杂命令行

3分钟搞定Windows启动盘制作&#xff1a;WinDiskWriter让macOS用户告别复杂命令行 【免费下载链接】windiskwriter &#x1f5a5; A macOS app that creates bootable USB drives for Windows. &#x1f6e0; Patches Windows 11 to bypass TPM and Secure Boot requirements. …...

Qwen-Image-2512在Windows11环境下的快速部署教程

Qwen-Image-2512在Windows11环境下的快速部署教程 1. 前言 你是不是也对AI生成图片感兴趣&#xff0c;但总觉得部署过程太复杂&#xff1f;今天我来分享一个超级简单的教程&#xff0c;让你在Windows11系统上快速部署Qwen-Image-2512模型。这个模型是阿里最新开源的图像生成模…...

在语音对话中,OpenClaw 的语音唤醒词定制化如何实现?

语音唤醒词定制化这件事&#xff0c;听起来像是给机器一个专属的暗号&#xff0c;喊对了它才搭理你。在OpenClaw这类语音对话系统里&#xff0c;实现这个功能&#xff0c;本质上是在解决一个“如何在嘈杂的声音环境里&#xff0c;准确识别出某个特定词汇”的问题。 这和我们平时…...

Boss-Key:重新定义窗口隐私管理的智能办公伴侣

Boss-Key&#xff1a;重新定义窗口隐私管理的智能办公伴侣 【免费下载链接】Boss-Key 老板来了&#xff1f;快用Boss-Key老板键一键隐藏静音当前窗口&#xff01;上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 在数字化办公时代&#xff0c;窗…...

从手势识别到创意应用:用Python+MediaPipe打造你的第一个手势控制程序(附完整源码)

手势交互革命&#xff1a;用PythonMediaPipe构建智能控制系统的5种实战方案 当你的手指在空气中划动就能操控幻灯片翻页、调节音量甚至指挥游戏角色时&#xff0c;这种未来感十足的交互方式已经可以通过Python轻松实现。MediaPipe提供的21个手部关键点就像一组精密的传感器&…...

告别重复劳动,用快马平台生成powershell脚本大幅提升数据处理效率

告别重复劳动&#xff0c;用快马平台生成powershell脚本大幅提升数据处理效率 最近接手了一个需要定期汇总销售数据的任务&#xff0c;每个月都要手动合并几十个Excel文件&#xff0c;然后计算各种统计指标。这种重复性工作不仅耗时耗力&#xff0c;还容易出错。直到发现了Ins…...

利用快马平台快速构建openclaw网页抓取原型,十分钟验证技术方案

最近在做一个数据采集相关的项目&#xff0c;需要快速验证网页抓取方案的可行性。经过调研发现openclaw这个Python库很适合做轻量级的网页抓取&#xff0c;但搭建完整的开发环境太费时间。后来在InsCode(快马)平台上尝试了一下&#xff0c;没想到十分钟就搞定了原型验证。这里分…...