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

【数据结构与算法 | 哈希表篇】力扣387

1. 力扣387:字符串中的第一个唯一字符

1.1 题目:

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

示例 1:

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

示例 2:

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

示例 3:

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

提示:

  • 1 <= s.length <= 105
  • s 只包含小写字母

1.2 思路:

用哈希表的键表示遇到的字符,用值表示遇到的字符个数。

1.3 题解:

class Solution {public int firstUniqChar(String s) {HashMap<Character, Integer> hashmap = new HashMap<>();for (int i = 0;i < s.length(); i++) {char ch = s.charAt(i);if (!hashmap.containsKey(ch)){// 第一次遇到该字符,值为1hashmap.put(ch, 1);} else {// 更新hashmap.put(ch, hashmap.get(ch) + 1);}}for (int i = 0; i < s.length(); i++) {char ch = s.charAt(i);// 逐一找到字符,而且字符在字符串的个数是1if(hashmap.containsKey(ch) && hashmap.get(ch) == 1){return i;}}return -1;}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 4.mysql约束
  • 【数据结构与算法】哈希表
  • JAVA—异常
  • 深度学习入门指南(1) - 从chatgpt入手
  • Docker③_VMware虚拟机和Docker的备份与恢复
  • CST软件如何设置硬件加速选项GPU DCMPI token?
  • (自用)交互协议设计——protobuf序列化
  • python笔记和练习----少儿编程课程【阶段一(二)】
  • 【案例38】Can’t get connection from database 排查详细记录
  • GPS跟踪环路MATLAB之——数字锁频环
  • 可视耳勺靠谱吗?五款杰出可视挖耳勺种草!
  • Windows 平台 Docker Protainer可视化平台,忘记登录密码,重置密码
  • 【C++算法】双指针
  • 45.跳跃游戏
  • 爬虫练习_01
  • CSS实用技巧干货
  • gitlab-ci配置详解(一)
  • JavaScript对象详解
  • java小心机(3)| 浅析finalize()
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • maven工程打包jar以及java jar命令的classpath使用
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 从零搭建Koa2 Server
  • 大型网站性能监测、分析与优化常见问题QA
  • 关于字符编码你应该知道的事情
  • 解析带emoji和链接的聊天系统消息
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端js -- this指向总结。
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 删除表内多余的重复数据
  • 译有关态射的一切
  • 转载:[译] 内容加速黑科技趣谈
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 数据库巡检项
  • ​Java基础复习笔记 第16章:网络编程
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • #知识分享#笔记#学习方法
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • $jQuery 重写Alert样式方法
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (八)Flask之app.route装饰器函数的参数
  • (二)斐波那契Fabonacci函数
  • (十七)Flink 容错机制
  • (四)Controller接口控制器详解(三)
  • (算法)区间调度问题
  • (转)Oracle存储过程编写经验和优化措施
  • .NET 通过系统影子账户实现权限维持
  • .NET正则基础之——正则委托
  • /etc/sudoers (root权限管理)
  • ??eclipse的安装配置问题!??