算法训练营day06 哈希表(统计数,去重,降低时间复杂度)

💡 解题思路

  1. 📝 确定输入与输出
  2. 🔍 分析复杂度
  3. 🔨 复杂题目拆分严谨且完整 地拆分为更小的子问题(哈希表的使用场景)–(多总结
  4. 💭 选择处理逻辑: 根据拆分后的子问题,总结并选择合适的问题处理思路
  5. 🔎 检查特殊情况:边界条件和特殊情况
  6. 🏁 返回结果

● 242.有效的字母异位词 (做统计)

class Solution {public boolean isAnagram(String s, String t) {if (s.length() != t.length()) {return false;}int[] table = new int[26];for (int i = 0; i < s.length(); i++) {table[s.charAt(i) - 'a']++;}for (int i = 0; i < t.length(); i++) {table[t.charAt(i) - 'a']--;if (table[t.charAt(i) - 'a'] < 0) return false;}return true;}
}

● 349. 两个数组的交集 (Set 去重)

class Solution {public static int[] intersection(int[] nums1, int[] nums2){if (nums1.length == 0 || nums2.length == 0) {return new int[0];}int len1 = nums1.length, len2 = nums2.length;Set<Integer> set = new HashSet<>(); // 确保不重复for (int num : nums1) {set.add(num);}List<Integer> res = new ArrayList<>(); // 动态数组记录结果for (int num : nums2) {if (set.contains(num)) {res.add(num);set.remove(num);}}int[] result = new int[res.size()];for (int i = 0; i < res.size(); i++) {result[i] = res.get(i);}return result;}
}

● 202. 快乐数(快慢指针的实际应用(变体)

class Solution {public boolean isHappy(int n) {if (n == 1 || getNext(n) == 1) return true;int slow = n;int fast = getNext(n);while (fast != 1 && slow != fast) {slow = getNext(slow);fast = getNext(getNext(fast));}return fast == 1;}private int getNext(int n) {int totalSum = 0;while (n > 0) {int d = n % 10;n = n / 10;totalSum += d * d;}return totalSum;}
}

● 1. 两数之和 (哈希表降低时间复杂度)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/39003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM-Transformer:经典与前沿方法详解

LLM-Transformer&#xff1a;经典与前沿方法详解 前言 大规模语言模型&#xff08;LLM&#xff09;是当前自然语言处理&#xff08;NLP&#xff09;领域的核心技术&#xff0c;而Transformer架构作为LLM的基础&#xff0c;极大地推动了这一领域的发展。本文将详细介绍LLM-Tra…

python3 飞机大战游戏开发历程

一、先安装pygame&#xff0c;我自己的系统是windows10,在cmd命令行下执行如下命令&#xff1a; python -m pip install --user pygame 注意&#xff1a;python用如下命令安装软件包: python -m pip install <package_name> 此时安装的软件包名字是pygame。 二、开发…

中英双语介绍美国的州:西弗吉尼亚州(West Virginia)

中文版 西弗吉尼亚州简介 西弗吉尼亚州&#xff08;West Virginia&#xff09;是位于美国东部的一个州&#xff0c;因其丰富的自然资源和美丽的山地风景而闻名。以下是对西弗吉尼亚州的详细介绍&#xff0c;包括其地理位置、人口、经济、教育、文化和主要城市等。 地理位置 …

轻松拯救手机数据,数据恢复软件推荐这8款!

在现代生活中&#xff0c;手机已成为我们不可或缺的工具&#xff0c;承载着大量重要的个人和工作数据。然而&#xff0c;意外删除、系统崩溃、设备损坏等情况可能导致数据丢失&#xff0c;给我们带来极大的困扰。幸运的是&#xff0c;随着科技的发展&#xff0c;各种手机数据恢…

【C++之unordered_set和unordered_map的介绍与应用】

C学习笔记---024 C之unordered_set和unordered_map的介绍与应用1、unordered_set和unordered_map的简单介绍1.1、unordered_set和unordered_map的基本概念1.2、unordered_set和unordered_map的基本特性 2、unordered_set的基本操作2.1、unordered_set的定义2.2、unordered_set的…

Mysql迁移数据报错:1114 – The table ‘xxxx’is full问题以及迁移mysql

今天用Navicat迁移数据的时候&#xff0c;报了一个错:1114 – The table ‘xxxx’is full 解决方案一:修改mysql的配置 这个问题可能是2种原因: 1.存放数据的磁盘整的已经放满&#xff0c;不能再写入数据&#xff0c;需要优化磁盘的存储大小。2.超过了mysql的临时表大小 和内…

顶顶通语音信箱手机助手拦截方案

在电话自动外呼系统&#xff0c;常见的问题是被叫号码开通了语音信箱&#xff0c;或者运营商自动给开通了小秘书服务&#xff0c;一旦电话打不通&#xff0c;就会先播放一个类似这样的提示音&#xff0c;你拨打的电话已经开启了来电小秘书&#xff0c;请在滴声后留言。还有一个…

【面试题】IPS(入侵防御系统)和IDS(入侵检测系统)的区别

IPS&#xff08;入侵防御系统&#xff09;和IDS&#xff08;入侵检测系统&#xff09;在网络安全领域扮演着不同的角色&#xff0c;它们之间的主要区别可以归纳如下&#xff1a; 功能差异&#xff1a; IPS&#xff1a;这是一种主动防护设备&#xff0c;不仅具备检测攻击的能力&…

优思学院|如何管理库存?让浪费和缺货减至最少?

引言&#xff1a;库存在精益生产中的悖论 在精益生产管理中&#xff0c;库存&#xff08;Inventory&#xff09;一直被视为八大浪费之一&#xff0c;因为它占用了资源、空间&#xff0c;并且可能掩盖流程中的问题。然而&#xff0c;库存并非一无是处&#xff0c;特别是在流程尚…

这几类热销品被Ozon限制销售,ozon还有什么产品好卖?

OZON是俄罗斯最大的B2C电商平台&#xff0c;占据俄罗斯电商市场份额的62%&#xff0c;日均订单量高达37万单&#xff0c;拥有超过1600万的活跃用户。ozon平台对中国卖家招商的产品品类涵盖了多个领域&#xff0c;但近日Ozon官方发布将对这三大类目实行销售限制&#xff0c;一起…

使用PyTorch高效读取二进制数据集进行训练

使用pickle制作类cifar10二进制格式的数据集 使用pytorc框架来训练&#xff08;以猫狗大战数据集为例&#xff09; 此方法是为了实现阿里云PAI studio上可视化训练模型时使用的数据格式。 一、制作类cifar10二进制格式数据 import os, cv2 from pickled import * from load_da…

非常疑惑文章变成了仅VIP可读

关于博客发布的一些感想 挺久没上 CSDN 了&#xff0c;平时遇到问题都是问 ChatGPT&#xff0c;自行查阅资料的时间也不多了&#xff0c;写博文的频率也随之降低。偶尔会记些笔记自用&#xff0c;也没有再发布出来。 今天在谷歌查了个问题&#xff0c;突然想发个博客&#xf…

微信小程序渲染层与逻辑层交互原理

1. 网页开发与小程序开发有何不同&#xff1f; 2. 小程序运行环境 3. 页面渲染技术选型 1. 纯客户端技术&#xff1b; 2. 纯Web技术&#xff1b; 3. 用客户端原生技术与Web技术结合的混合技术&#xff08;Hybrid&#xff09;&#xff0c;小程序就是使用的这种技术&#xff1…

零基础学MySQL:从入门到实践的完整指南

引言&#xff1a; MySQL&#xff0c;作为全球最受欢迎的开源关系型数据库管理系统之一&#xff0c;以其高性能、易用性和灵活性&#xff0c;在Web开发、数据分析等领域占据着举足轻重的地位。如果你是一位编程新手&#xff0c;想要踏入数据库管理的大门&#xff0c;本文将从零…

MacBook关闭谷歌浏览器双指左右移动(扫动)前进后退功能

这个功能真的很反人类&#xff0c;正常上下滑动页面的时候很容易误操作&#xff0c;尤其是当你在一个页面上做了很多的编辑工作后误触发了此手势&#xff0c;那真叫一个崩溃&#xff01; 其实这应该是 Macbook 触控板提供的一个快捷操作&#xff0c;跟浏览器本身估计没关系&am…

基于大模型构建企业私有智能知识库落地的简单实践

​ 随着人工智能技术的飞速发展&#xff0c;大模型在企业知识管理中的应用日益广泛。下文是作者围绕如何基于大模型技术构建企业私有知识库&#xff0c;以提升企业的知识管理效率和创新能力的一些思考和简单实践。 ​ 本文对企业知识库的落地场景暂不作广泛的展开&#xff0c;…

Oracle PL / SQL数据类型

PL / SQL是SQL的过程语言扩展&#xff0c;它支持与SQL对数据库相同的数据类型。 PL / SQL可以处理任何数据库数据类型&#xff0c;并且还有自己的数据类型。 VARCHAR2&#xff1a;我们将使用数据类型VARCHAR2处理PL / SQL中的字符串。 PL / SQL VARCHAR2最多可容纳32,767个字…

成都百洲文化传媒有限公司网上开店怎么样?

在电商的浪潮中&#xff0c;每一个品牌都在寻找自己的定位与突破。而成都百洲文化传媒有限公司&#xff0c;正是这场浪潮中的一股强大助力&#xff0c;凭借其专业的电商服务&#xff0c;助力无数品牌实现了飞跃发展。 一、专业铸就品质&#xff0c;服务成就品牌 成都百洲文化传…

Runway:Gen-3 Alpha 文生视频现已开放

Runway 自 6 月 17 号公布 Gen-3 Alpha 快半个月了, 现在终于对所有人开放了&#xff0c;当然前提是你至少订阅了标准版&#xff08;12 美刀/月), 传送门&#xff1a;runwayml.com

中原汉族与北方游牧民族舞蹈文化在这段剧中表现得淋漓尽致,且看!

中原汉族与北方游牧民族舞蹈文化在这段剧中表现得淋漓尽致&#xff0c;且看&#xff01; 《神探狄仁杰》之使团喋血记是一部深入人心的历史侦探剧&#xff0c;不仅以其曲折离奇的案情和狄仁杰的睿智形象吸引观众&#xff0c;更以其对唐代文化的精准再现而备受赞誉。#李秘书讲写…