leetcode hot100(两数之和、字母异位词分组、最长连续序列)

article/2025/6/8 2:43:27

两数之和

题目链接
参考链接:

题目描述:
在这里插入图片描述

暴力法

双重循环查找目标值

class Solution {public int[] twoSum(int[] nums, int target) {int[] res = new int[2];for(int i = 0 ; i < nums.length ; i++){boolean isFind = false;for(int j = i + 1 ; j < nums.length ; j++){if(nums[i] + nums[j] == target){res[0] = i;res[1] = j;isFind = true;break;}}if(isFind)break;}return res;       }
}

哈希表

利用HashMap将nums的下标和它的值对应起来Map,将遍历过的值存储下来,每次查找Map之中是否存在target-nums[i]的值,存在的话,该记录的下标j和当前下标i即为结果。

class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer,Integer> map = new HashMap<>();for(int i = 0 ; i < nums.length ; i++){if(map.containsKey(target - nums[i])){return new int[]{map.get(target - nums[i]) , i};}map.put(nums[i],i);}return new int[0];}
}

两数之和

题目链接
参考链接:

题目描述:
在这里插入图片描述
思路:根据题意,可以得出一个结论,需要将字母组成相同的词放入同一个List之中,因此,对每个String转换成char[](S.toCharArray()),随后对其进行排序,将排序之后的值转换成字符串key,判断key是否已经存在,不存在则新建List,若存在则将该列表取出向其中添加当前的字符串。

class Solution {public List<List<String>> groupAnagrams(String[] strs) {Map<String, List<String>> map = new HashMap<>();for(String s : strs){char[] sortedString = s.toCharArray();Arrays.sort(sortedString);String key = new String(sortedString);List<String> list = map.getOrDefault(key,new ArrayList<>());list.add(s);map.put(key,list);}return new ArrayList<List<String>>(map.values());}
}

最长连续序列

题目链接
参考链接:

题目描述:

在这里插入图片描述

思路:将nums之中的所有数字放入Set之中,随后遍历set,x为当前的数字,如果x为连续数字序列的起点,则继续在set之中查找x+1是否存在,直到查找到y,那么这个连续序列的最长长度为y-x,对每个数字执行此操作,保存最大长度即可。

class Solution {public int longestConsecutive(int[] nums) {int ans = 0;Set<Integer> st = new HashSet<>();for (int num : nums) {st.add(num);}for (int num : st) {// 如果当前的数只是连续数字之中的一个,而不是连续数字的最小数字,跳过当前数字。if (st.contains(num - 1)) {continue;}// num是起点,所以我们需要遍历整个连续的额数字序列,直到不存在int y = num + 1;while (st.contains(y)) {y++;}ans = Math.max(ans, y - num);}return ans;}
}


http://www.hkcw.cn/article/mjZTqDxpKX.shtml

相关文章

JWTの求生记录

Token 三巨头通常指的是三种主流的令牌&#xff08;Token&#xff09;技术&#xff0c;它们各自解决了不同场景下的身份验证和授权问题 Token 验证是现代 Web 和移动应用中常用的身份验证方式&#xff0c;它比传统的 session-cookie 机制更适用于分布式系统和 RESTful API。 …

个人博客系统自动化测试报告

个人博客系统自动化测试报告 文章目录 个人博客系统自动化测试报告1. 项目背景2. 测试内容2.1 编写测试用例2.2 执行测试用例 1. 项目背景 个人博客系统由四个界面组成&#xff1a;博客登录页、博客列表页、博客详情页、博客发布页。通过使用Python Selenium实现web自动测试&a…

2025年人文发展与文化传播国际会议(ICHDCC 2025)

2025年人文发展与文化传播国际会议&#xff08;ICHDCC 2025&#xff09; 2025 International Conference on Humanistic Development and Cultural Communication 一、大会信息 会议简称&#xff1a;ICHDCC 2025 大会地点&#xff1a;中国绵阳 审稿通知&#xff1a;投稿后2-3…

MySQL - Windows 中 MySQL 禁用开机自启,并在需要时手动启动

Windows 中 MySQL 禁用开机自启&#xff0c;并在需要时手动启动 打开服务管理器&#xff1a;在底部搜索栏输入【services.msc】 -> 点击【服务】 打开 MySQL 服务的属性管理&#xff1a;找到并右击 MySQL 服务 -> 点击【属性】 此时的 MySQL 服务&#xff1a;正在运行&a…

「EN 18031」访问控制机制(ACM - 1):智能路由器的安全守卫

家用路由器要是出口欧洲&#xff0c;可得留意欧盟EN18031标准里的访问控制机制。以路由器为例&#xff0c;访问控制机制&#xff08;ACM&#xff09;能决定谁能连入网络、访问哪些网站。比如通过设置不同的用户角色和权限&#xff0c;家长可以限制孩子设备的上网时间和可访问的…

线性动态规划

具有「线性」阶段划分的动态规划方法统称为线性动态规划&#xff08;简称为「线性 DP」&#xff09;&#xff0c;如下图所示。 一、概念 如果状态包含多个维度&#xff0c;但是每个维度上都是线性划分的阶段&#xff0c;也属于线性 DP。比如背包问题、区间 DP、数位 DP 等都属…

如何做接口测试?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 01、通用的项目架构 02、什么是接口 接口&#xff1a;服务端程序对外提供的一种统一的访问方式&#xff0c;通常采用HTTP协议&#xff0c;通过不同的url&#xff…

父文档检索器引和RAG的context precision性能指标

父文档检索器引和context precision性能指标 父文档检索器是一种搜索工具,用来从一大堆文档中找出跟你的问题最相关的答案。它的特别之处在于,它会先把文档分成小块(子片段),然后找到最相关的小块,再返回这些小块所属的完整大文档(父文档)。这样既能精准找到相关内容,…

平台化 LIMS 系统架构 跨行业协同与资源共享的实现路径

在科技快速发展的今天&#xff0c;质检行业正面临着效率、合规和数据安全的多重挑战。新一代质检 LIMS 系统以智能化与平台化为核心&#xff0c;为实验室管理提供了全新的解决方案。 一、智能化&#xff1a;从数据采集到分析的全流程升级 传统质检流程中&#xff0c;人工数据录…

[蓝桥杯]路径之谜

路径之谜 题目描述 小明冒充 XX 星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。 假设城堡地面是 nnnn 个方格。如下图所示。 按习俗&#xff0c;骑士要从西北角走到东南角。可以横向或纵向移动&#xff0c;但不能斜…

奥威BI+AI数据分析:企业数智化转型的加速器

在当今数据驱动的时代&#xff0c;企业对于数据分析的需求日益增长。奥威BIAI数据分析的组合&#xff0c;正成为众多企业数智化转型的加速器。 奥威BI以其强大的数据处理和可视化能力著称。它能够轻松接入多种数据源&#xff0c;实现数据的快速整合与清洗。通过内置的ETL工具&…

大模型的外围关键技术

最简易前端&#xff1a;Gradio 基本介绍 Gradio 是一个用于快速创建可分享的机器学习模型界面的开源 Python 库。通过 Gradio&#xff0c;开发者能够轻松地为他们的模型创建前端界面&#xff0c;从而使非技术用户也可以通过简单的网页界面与这些模型进行交互。 Gradio 的一些…

electron定时任务,打印内存占用情况

// 监听更新 function winUpdate(){// 每次执行完后重新设置定时器try {// 获取当前时间并格式化为易读的字符串const now new Date();const timeString now.toLocaleString();console.log(当前时间: ${timeString});// 记录内存使用情况&#xff08;可选&#xff09;const m…

建筑工程施工进度智能编排系统 (SCS-BIM)

建筑工程施工进度智能编排 (SCS-BIM) 源码可见于&#xff1a;https://github.com/Asionm/SCS-BIM 项目简介 本项目是一个面向建筑工程的施工进度智能编制平台&#xff0c;用户只需上传一份标准 IFC 建筑信息模型文件&#xff0c;系统将自动完成以下任务&#xff1a; 解析模…

小红薯商品搜索详情分析与实现

前言 小红书作为国内知名的社交电商平台&#xff0c;拥有丰富的商品数据和用户评价信息。对于数据分析师、产品经理或电商从业者来说&#xff0c;能够获取小红书的商品数据具有重要的商业价值。本文将详细介绍如何通过逆向工程实现小红书商品搜索API的调用。 免责声明&#xf…

国标GB28181设备管理软件EasyGBS视频平台筑牢文物保护安全防线创新方案

一、方案背景​ 文物作为人类文明的珍贵载体&#xff0c;具有不可再生性。当前&#xff0c;盗窃破坏、游客不文明行为及自然侵蚀威胁文物安全&#xff0c;传统保护手段存在响应滞后、覆盖不全等局限。随着5G与信息技术发展&#xff0c;基于GB28181协议的EasyGBS视频云平台&…

使用 Python + ExecJS 获取网易云音乐歌曲歌词

&#x1f3b5; 使用 Python ExecJS 获取网易云音乐歌曲歌词 在本篇博客中&#xff0c;我们将通过一个完整的 Python 脚本&#xff0c;利用 execjs 模块调用 JavaScript 代码&#xff0c;成功获取网易云音乐的歌曲歌词。整个过程涵盖了加密参数的生成、API 请求发送与歌词提取…

云台式激光甲烷探测器:守护工业安全的“智慧之眼”

在石油化工、天然气场站、城市燃气管网等场景中&#xff0c;甲烷泄漏的早期监测是保障生产安全的核心防线。云台式激光甲烷探测器凭借高精度、无接触、智能化的技术优势&#xff0c;成为工业安全监测领域的革新者。本文将深度解析其技术原理、核心功能及适用场景&#xff0c;助…

基于YOLO-NAS-Pose的无人机象群姿态估计:群体行为分析的突破

【导读】 应对气候变化对非洲象的生存威胁&#xff0c;本研究创新采用无人机航拍结合AI姿态分析技术&#xff0c;突破传统观测局限。团队在肯尼亚桑布鲁保护区对比测试DeepLabCut与YOLO-NAS-Pose两种模型&#xff0c;首次将后者引入野生动物研究。通过检测象群头部、脊柱等关键…

CppCon 2014 学习:Anatomy of a Smart Pointer

智能指针&#xff08;smart pointer&#xff09;可以这样解释&#xff1a; 它是一个指针的容器——内部保存了一个普通指针&#xff0c;并且可以在需要时把指针交给你使用。它支持RAII&#xff08;资源获取即初始化&#xff09;&#xff0c;也就是说资源&#xff08;比如内存&…