Leetcode Java学习记录——代码随想录哈希表篇

文章目录

  • 哈希表
    • 几种哈希实现
  • Java
    • 数组
    • HashSet
    • map
    • 方法
      • charAt()
      • toCharArray()
      • for 遍历
      • 长度

哈希表

当需要快速判断一个元素是否出现在集合里的时候,就要用到哈希表。
无限循环就意味着重复出现。

几种哈希实现

  • 数组:大小固定
  • set:只存key
  • map:key:value

Java

数组

动态数组

List<Integer> resList = new ArrayList<>();
//这里必须是Integer,不能是int。

以上动态数组本质上是一个对象,Integer为对象类型,若返回值限定了int[],则需要转化为int[](固定数组)

		int index = 0;int res[] = new int[resList.size()];for(int i : resList)res[index++] = i;return res;

HashSet

使用HashSet需要import两个包

import java.util.HashSet;
import java.util.Set;

声明HashSet

 Set<Integer> set1 = new HashSet<>();

对应的方法包括add,contains,size【注意不是length】

for (int i : nums1) {set1.add(i);
}
for (int i : nums2) {if (set1.contains(i)) {resSet.add(i);}
}
int[] arr = new int[resSet.size()];

集合转化为数组可以使用

return resSet.stream().mapToInt(x -> x).toArray();

也可以使用上述动态数组中的转化方法,申请一个数组赋值。

int[] arr = new int[resSet.size()];
int j = 0;
for(int i : resSet){arr[j++] = i;
}

map

声明定义

Map<Integer, Integer> map = new HashMap<>();

包含方法containsKey,get,put

			if (map.containsKey(temp)){int []res = new int[2];res[1]= i;res[0] = map.get(temp);return res;}//若没有对应,则添加进mapmap.put(nums[i],i);

getOrDefault 用于从映射(map)中根据指定的键(key)获取相应的值(value)。
如果映射中不包含这个键,getOrDefault 方法将返回调用者提供的默认值。

方法

charAt()

获取ASCII码值

record[s.charAt(i) - 'a']++;

toCharArray()

获取ASCII码值

for 遍历

遍历数组里的值,声明一个变量,用: 数组。

for (int count: record) {if (count != 0) {               return false;}

长度

string用.length()
set用size()

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

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

相关文章

美创科技入选“2024年度浙江省工业信息安全服务支撑单位”

近日&#xff0c;浙江省经济和信息化厅公布“2024年度浙江省工业信息安全服务支撑单位”名单。 经单位自愿申报、各市经信主管部门初审推荐、专家评审等环节&#xff0c;凭借在工业数据安全领域长期深耕和产品服务实力&#xff0c;美创科技成功入选&#xff01; “2024年度浙江…

理解 JTBD 框架和EJ 理念:深挖以用户为中心的设计

在与用户的交流中&#xff0c;我们发现对用户需求的精准洞察普遍困扰着产品经理、设计、企划人员&#xff0c;因为当今消费者行为已经由单品消费转向场景消费&#xff0c;千人千面的个性化需求出现&#xff0c;消费者数据维度极大丰富&#xff0c;这对把握用户体验造成了很大挑…

工具与技术:如何使用工具创建和实现导航栏图标动效

这篇教程的目的主要是带领大家做UI交互的入门引导,让大家理解做交互动效的一些基本逻辑思维,利用原型交互动画做导航栏icon动画效果。 导航栏icon动效的详细教程&#xff1a; 即时设计 - 可实时协作的专业 UI 设计工具即时设计是一款支持在线协作的专业级 UI 设计工具&#x…

2024年道路运输企业主要负责人证模拟考试题库及道路运输企业主要负责人理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年道路运输企业主要负责人证模拟考试题库及道路运输企业主要负责人理论考试试题是由安全生产模拟考试一点通提供&#xff0c;道路运输企业主要负责人证模拟考试题库是根据道路运输企业主要负责人最新版教材&#…

【算法训练记录——Day32】

Day32——贪心算法Ⅱ 1.leetcode122买卖股票的最佳时机II2.leetcode55跳跃游戏3.leetcode45跳跃游戏II4.eetcode1005K次取反后最大化的数组和 目标&#xff1a; leetcode122买卖股票的最佳时机IIleetcode55跳跃游戏leetcode45跳跃游戏IIleetcode1005K次取反后最大化的数组和 1…

掌握数据魔方:Xinstall引领ASA全链路数据归因新纪元

一、引言 在数字化时代&#xff0c;数据是App推广和运营的核心驱动力。然而&#xff0c;如何准确获取、分析并应用这些数据&#xff0c;却成为了许多开发者和营销人员面临的痛点。Xinstall作为一款专业的App全渠道统计服务商&#xff0c;致力于提供精准、高效的数据解决方案&a…

MySQL中的客户端选项(三)

默认情况下&#xff0c;LOAD DATA的LOCAL功能是否可用取决于MySQL客户端库在编译时是否启用了该功能。 当只给出--local-infile&#xff08;不带值&#xff09;时&#xff0c;它启用LOCAL数据加载。当给出--local-infile0时&#xff0c;它禁用LOCAL数据加载。当给出--local-in…

工具分享:Search_Viewer

文章目录 前言Search_Viewer介绍安装方式使用方式 前言 本文推荐工具Search_Viewer&#xff0c;详细介绍其安装和使用方式。 Search_Viewer介绍 集Fofa、Hunter鹰图、Shodan、360 quake、Zoomeye 钟馗之眼、censys 为一体的空间测绘gui图形界面化工具&#xff0c;支持一键采…

CP AUTOSAR标准之LSduRouter(AUTOSAR_CP_SWS_LSduRouter)

1 简介和功能概述 本规范描述了AUTOSAR基础软件模块L-SDU路由器的功能、API和配置。L-SDU路由器模块使用以下模块类型提供路由L-SDU(链路层服务数据单元)的服务: 通信接口模块,使用 < Provider:Up > 或 < Provider:Lo > API,例如EthIf、IEEE1722Tp;L-SDU的路由…

2024数据库期末综合(第9关:索引)

第9关&#xff1a;索引&#xff08;注意看下面的温馨提示&#xff01;&#xff01;&#xff09; 任务描述 湖南人口hnpeople数据表结构如图所示&#xff0c;各字段含义如下 cs&#xff08;城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)…

标题:探索开源世界:2024年热门开源项目推荐

标题&#xff1a;探索开源世界&#xff1a;2024年热门开源项目推荐 在开源文化的推动下&#xff0c;开源项目已经成为技术创新和知识共享的重要平台。它们不仅为程序员提供了学习和交流的机会&#xff0c;也为整个行业带来了前所未有的活力。本文将推荐一些2024年值得关注的热…

PySide在QLabel上按住鼠标左键画方框

用于截图放大等 import sys from PySide6.QtWidgets import QApplication, QLabel, QMainWindow from PySide6.QtGui import QPixmap, QPainter, QPen, QColor from PySide6.QtCore import Qt, QRect, QPointclass ImageLabel(QLabel):def __init__(self, parentNone):super().…

在 Linux 中配置 SSH 连接的加密算法

需要对 OpenSSH 服务器和客户端进行相应配置。以下是具体步骤&#xff1a; 配置 OpenSSH 服务器的加密算法 1. 编辑 OpenSSH 服务器的配置文件&#xff1a; 打开 sshd_config 文件&#xff1a; sudo nano /etc/ssh/sshd_config2. 设置加密算法&#xff08;Ciphers&#xff…

python项目(课设)——飞机大战小游戏项目源码(pygame)

主程序 import pygame from plane_sprites import * class PlaneGame: """ 游戏类 """ def __init__(self): print("游戏初始化") # 初始化字体模块 pygame.font.init() # 创建游戏…

南卡、漫步者和Oladance开放式哪家强?无广避坑测评!

现在市面上的开放式耳机种类非常多&#xff0c;在购买的时候大多数人都没有非常确定的目标&#xff0c;这主要是因为大多数人对开放式耳机的认识程度不够。 作为一个有着多年数码产品测评经验的测评员&#xff0c;我刚好对开放式耳机也有比较深刻的理解&#xff0c;也借着大家…

策略模式:applicationContext.getBeansOfType()方法

applicationContext.getBeansOfType() 一般用来获取某个接口的所有实例Bean 方法定义如下&#xff1a; 入参一般是接口&#xff0c;即interface。响应是个Map结构&#xff0c;key bean在容器中的名称&#xff0c;value bean实列 开发步骤&#xff1a; 1.定义接口 2.定义…

智汇云舟成为中煤集团中煤智能创新联盟成员单位

6月21日&#xff0c;第八届世界智能产业博览会平行会议暨中煤智能创新联盟交流会在天津水游城丽筠酒店顺利举行。智汇云舟受邀参与&#xff0c;并由中国中煤能源集团授予荣誉证书&#xff0c;正式成为中煤智能创新联盟成员单位。会议上&#xff0c;清华大学、中国矿业大学&…

pip设置国内源:阿里云、腾讯云、清华大学源

更换Python的pip源&#xff08;尤其是默认源访问速度较慢时&#xff09;是一个常见需求&#xff0c;可以显著提升安装Python包的速度。以下是如何为pip设置国内源的步骤&#xff0c;以阿里云、腾讯云、清华大学源为例&#xff1a; 1. 备份原有源配置&#xff08;可选但推荐&am…

【SkiaSharp绘图08】SKPaint方法:自动换行、是否乱码、字符偏移、边界、截距、文本轮廓、测量文本

文章目录 SKPaint方法BreakText 计算指定宽度内可绘制的字符个数ContainsGlyphs字体是否包含文本字符(是否会乱码)GetGlyphOffsets 字符偏移量GetGlyphPositions 偏移坐标GetGlyphWidths 每个字符的宽度与边界GetHorizontalTextIntercepts 轮廓截距GetPositionedTextIntercepts…

CVPR 2024第三弹:李飞飞教授惊喜亮相,CVPR之家乐队火爆演奏惊艳全场

CVPR 2024第三弹&#xff1a;小编与李飞飞教授惊喜同框&#xff0c;"CVPR之家"乐队火爆演奏惊艳全场&#xff01; 会议之眼 快讯 2024 年 CVPR &#xff08;Computer Vision and Pattern Recogntion Conference) 即国际计算机视觉与模式识别会议&#xff0c;于6月1…