数据结构(十四)——HashMap与HashSet(OJ题)

一.只出现一次的数字

136. 只出现一次的数字 - 力扣(LeetCode)
 

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

示例 1 :

输入:nums = [2,2,1]
输出:1

示例 2 :

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

示例 3 :

输入:nums = [1]
输出:1
class Solution {public int singleNumber(int[] nums) {HashSet<Integer> set=new  HashSet<>();for(int x:nums){if(!set.contains(x)){set.add(x);}elseset.remove(x);}for(int x:nums){if(set.contains(x))return x;}return -1;}
}

二、字符串中的第一个唯一字符

387. 字符串中的第一个唯一字符 - 力扣(LeetCode)

给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。

示例 1:

输入: s = "leetcode"
输出: 0

示例 2:

输入: s = "loveleetcode"
输出: 2

示例 3:

输入: s = "aabb"
输出: -1

思路

先定义一个数组,然后直接遍历字符串记录下每个元素出现的次数,再次遍历字符串,注意这里不是遍历数组,因为字符串的第一个不重复元素可能在数组中存储位置并不一定是第一位,所谓我们还是遍历字符串,找到出现次数为1的那个元素并输出。

class Solution {public int firstUniqChar(String s) {int[] arr = new int[26];for(int i= 0;i<s.length();i++){arr[s.charAt(i) -'a']++;}for(int i= 0;i<s.length();i++){if(arr[s.charAt(i) -'a'] == 1){return i;}}return -1;}
}

三.宝石与石头

 给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

字母区分大小写,因此 "a" 和 "A" 是不同类型的石头。

示例 1:

输入:jewels = "aA", stones = "aAAbbbb"
输出:3

示例 2:

输入:jewels = "z", stones = "ZZ"
输出:0
class Solution {public int numJewelsInStones(String jewels, String stones) {Set<Character> set = new HashSet<>();for(char ch:jewels.toCharArray()){set.add(ch);}int count=0;for(char ch:stones.toCharArray()){if(set.contains(ch))count++;}return count;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

java 解析excel

在Java中解析Excel文件&#xff0c;可以使用Apache POI库。以下是一个简单的例子&#xff0c;展示如何使用Apache POI读取一个Excel文件&#xff08;假设为.xlsx格式&#xff09;的内容。 首先&#xff0c;确保你的项目中包含了Apache POI的依赖。如果你使用Maven&#xff0c;…

结构体易忘点

结构体初始化 当我们去初始化一个结构体的时候&#xff0c;我们常常会按变量顺序初始化&#xff0c;但其实也可以不按顺序&#xff0c;同时也可以部分数据初始化。 结构体对齐 结构体里面的成员有一定的对齐规则&#xff0c;他不是每一个空间都存着有效数据的&#xff0c;有些…

综合时如何计算net delay?

在PR阶段&#xff0c;互连线的延迟可以通过抽取net的rc值计算得到。而在综合阶段&#xff0c;因为没有实际的布局布线&#xff0c;便无法去抽取net上的rc值。那么&#xff0c;线负载模型&#xff08;wire load model&#xff09;便派上用场了。 所谓线负载模型&#xff0c;就是…

力扣上刷题之C语言实现(数组)

一. 简介 本文记录一下力扣的逻辑题。主要是数组方面的&#xff0c;使用 C语言实现。 二. 力扣上刷题之C语言实现 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target的那 两个 整数&#xff0c;并返回它们的数…

uni-app安装插件

1.通过插件市场安装https://ext.dcloud.net.cn 打开HBuilderX编辑器。 点击菜单栏中的“工具”->“插件安装”。 这里会看到已安装插件和安装新插件两个选项卡&#xff0c;点击安装新插件&#xff0c; 能看到一些核心插件&#xff0c;如果所需要的插件在核心插件里面有&…

PyCharm和VS Code 安装通义灵码,可本地安装包安装,解决插件安装不上问题

PyCharm和VS Code 安装通义灵码&#xff0c;可本地安装包安装&#xff0c;解决插件安装不上问题 PyCharm、VS Code 安装通义灵码介绍主要应用场景支持编程语言安装指南JetBrains IDEs 中安装指南步骤 1&#xff1a;准备工作步骤 2&#xff1a;在 JetBrains IDEs 中安装通义灵码…

【快速笔记】freeRTOS

第十八章 低功耗Tickless模式 睡眠模式:__WFI 中断唤醒 __WFE 事件唤醒 CPU CLK关闭 停止模式&#xff1a;RAM保持 中断唤醒 当 STM32F103 处于休眠模式的时候 Cortex-M3 内核停止运行&#xff0c;但是其他外设运行正常&#xff0c; 比如 NVIC、SRAM 等。 休眠模式的功耗比其他…

集运系统核心功能模块:打造高效集运仓日常管理

在跨境电商的快速发展背景下&#xff0c;集运业务作为物流环节中的重要一环&#xff0c;其效率和管理的精细化程度直接影响着客户体验和企业效益。集运系统作为提升管理效率的关键工具&#xff0c;需要具备一系列核心模块来确保业务的顺畅运行。以下是集运系统在日常管理中不可…

汇总:工业导管生产中 17种检测仪进行品质检测

定义 1&#xff09;泛指做疏导用的管子。2&#xff09;工业用导管即钻孔灌注桩水下浇灌砼导管。混凝土灌注导管用于大型的桥梁工程、中铁工程、公路工程、水电工程、高层地基的钻孔灌注桩的水下浇筑使用。 种类 工业导管种类繁多&#xff0c;主要包括钢管、铜管、不锈钢管、PVC…

golang操作mysql利器-gorm

1、傻瓜示例 GORM通过将数据库表中的数据映射到面向对象的模型中&#xff0c;简化了数据库操作&#xff0c;使得开发者可以很方便的使用代码来操作数据库&#xff0c;而无需编写SQL语句。 目前有个mysql表&#xff1a;miniprogram_orders&#xff0c;其存储了所有用户对应的订…

2023年全国研究生数学建模竞赛华为杯B题DFT类矩阵的整数分解逼近求解全过程文档及程序

2023年全国研究生数学建模竞赛华为杯 B题 DFT类矩阵的整数分解逼近 原题再现&#xff1a; 一、问题背景   离散傅里叶变换&#xff08;Discrete Fourier Transform&#xff0c;DFT&#xff09;作为一种基本工具广泛应用于工程、科学以及数学领域。例如&#xff0c;通信信号…

基于深度学习的手势识别算法(论文复现)

基于深度学习的手势识别算法&#xff08;论文复现&#xff09; 本文所涉及所有资源均在传知代码平台可获取 文章目录 基于深度学习的手势识别算法&#xff08;论文复现&#xff09;概述算法原理核心逻辑效果演示使用方式 概述 本文基于论文 Simple Baselines for Human Pose Es…

Sublime Text 3 相关设置

打开设置 { “font_size”: 16, // 字体大小 “save_on_focus_lost”: true, // 自动保存 }

YOLOv8改进系列,YOLOv8 Neck结构引入BiFPN

摘要 模型效率在计算机视觉中变得越来越重要。本文系统地研究了神经网络架构设计选择用于目标检测,并提出了几项关键优化以提高效率。首先,提出了一种加权双向特征金字塔网络(BiFPN),它允许轻松快速的多尺度特征融合;其次,我们提出了一种复合缩放方法,该方法同时均匀地…

MATLAB 在数学建模中的深入应用:从基础到高级实践

目录 前言 一、MATLAB基础知识 1.1 MATLAB工作环境简介 1.1.1 命令窗口&#xff08;Command Window&#xff09; 1.1.2 工作区&#xff08;Workspace&#xff09; 1.1.3 命令历史&#xff08;Command History&#xff09; 1.1.4 编辑器&#xff08;Editor&#xff09; 1…

Electron 安装包 asar 解压定位问题实战

背景 在开发 Electron 过程中&#xff0c;我们想知道 Electron 打包的最终形态是什么样的&#xff0c;以便我们能更好的理解 Electron 打包的过程&#xff0c;以及逆向来快速追踪一些问题&#xff0c;例如下面这个报错&#xff0c;以前这类报错都是靠猜&#xff0c;现在则可以…

矿场工程车检测数据集 4900张 工程车 带标注voc yolo

矿场工程车检测数据集 数据集描述 该数据集旨在用于矿场工程车的检测和分类任务&#xff0c;涵盖了多种常见的工程车辆类型。数据集包含了大量的工程车图像及其对应的标注信息&#xff0c;可用于训练计算机视觉模型&#xff0c;以识别和定位矿场中的不同工程车辆。 数据规模 …

《微信小程序实战(3) · 推广海报制作》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

web学习——day1

1.web标准 2.html和css 此时&#xff0c;学完这一部分&#xff0c;你web的具体的结构已经有了 但是呢&#xff0c;这还是太单调了&#xff0c;我们应该加点儿样式&#xff0c;这就该用到CSS了 CSS引入方式 样式1&#xff1a;颜色 样式2&#xff1a;哪怕对于同一类事物&#xf…

一问详解Unity下RTMP推送|轻量级RTSP服务|RTSP|RTMP播放模块说明

技术背景 好多开发者&#xff0c;对Unity下的模块&#xff0c;不甚了解&#xff0c;实际上&#xff0c;除了Windows/Linux/Android/iOS Native SDK&#xff0c;大牛直播SDK发布了Unity环境下的RTMP推流|轻量级RTSP服务&#xff08;Windows平台Linux平台Android平台&#xff09…