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

『力扣每日一题06』字符串中的第一个唯一字符

今天是学习新知识的一天,String 类中有太多细枝末节,需要我去学习跟掌握了。

话不多说,今天给大家带来一道字符串的题目~

一、题目

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

注意:

  • s 只包含小写字母

示例 1:

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

示例 2:

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

示例 3:

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

二、思路解析

这道题我的做法是,创建一个用于计数的数组 count [ ],元素个数为 26 ,因为题中要求 “ s 只包含小写字母 ”。

然后我对字符串进行了一次遍历操作,为的是用 CharAt 函数取出每一个元素,并赋值给一个新字符 ch 。

这样我们就能通过 [ch-'a'] 来访问计数数组 count 的元素下标了,并对其进行 ++ 操作。

接下里一步就是重新遍历一次,并作出判断,题目要求的 “第一次出现的不重复的字符串” ,在我们看来,也就是 count [ ] == 1 而已,符合条件的直接返回即可。

同样,不符合直接返回 -1 ,这道题到这里也就解决了~

三、完整代码

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

以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!

相关文章:

『力扣每日一题06』字符串中的第一个唯一字符

今天是学习新知识的一天&#xff0c;String 类中有太多细枝末节&#xff0c;需要我去学习跟掌握了。 话不多说&#xff0c;今天给大家带来一道字符串的题目~ 一、题目 给定一个字符串 s &#xff0c;找到 它的第一个不重复的字符&#xff0c;并返回它的索引 。如果不存在&…...

selenium鼠标操作方法

1.0 selenium新版本封装驱动 from selenium.webdriver import Chrome from selenium.webdriver.chrome.options import ChromiumOptions from selenium.webdriver.chrome.service import Servicedef get_chrome_driver(driver_path):chrome_options ChromiumOptions()chrome_…...

医者无疆 | AI赋能大医精诚,医疗制药的进阶与突破

在历史的长河中&#xff0c;医学一直是人类文明的重要组成部分。从古希腊的希波克拉底到现代医学研究&#xff0c;医学始终与时俱进&#xff0c;为人类的健康和福祉做出了巨大的贡献。在互联网、大数据、5G等信息技术的迭代下&#xff0c;人工智能&#xff08;AI&#xff09;的…...

使用 Hue 玩转 Amazon EMR(SparkSQL, Phoenix) 和 Amazon Redshift

现状 Apache Hue 是一个基于 Web 的交互式 SQL 助手&#xff0c;通过它可以帮助大数据从业人员&#xff08;数仓工程师&#xff0c;数据分析师等&#xff09;与数据仓库进行 SQL 交互。在 Amazon EMR 集群启动时&#xff0c;通过勾选 Hue 进行安装。在 Hue 启用以后&#xff0…...

Unity中神秘的Transform和transform(小写)的关系

1.为什么Transform类是保护的不能通过new 来实例化对象,也没有静态函数,而Rotate()这种方法却属于它,该如何访问? Transform 类还是被保护的不允许用户修改! protected Transform(); 是一个受保护的构造函数,不能直接实例化 Transform 类。 2.为甚么transform可以访问Tr…...

【LeetCode-中等题】78. 子集

文章目录 题目方法一&#xff1a;动态规划方法二&#xff1a;递归加回溯(关键----startIndex) 题目 注意&#xff1a;这里的nums数组里面的元素是各不相同的&#xff0c;所以不存在去重操作 方法一&#xff1a;动态规划 public List<List<Integer>> subsets(int[]…...

学习设计模式之代理模式,但是宝可梦

前言 作者在准备秋招中&#xff0c;学习设计模式&#xff0c;做点小笔记&#xff0c;用宝可梦为场景举例&#xff0c;有错误欢迎指出。 代码同步更新到 github ,要是点个Star您就是我的神 目录 前言代理模式1.情景模拟1.1静态代理优点局限 1.2 动态代理 2.应用3.局限4.解决方…...

自学Python01-创建文件写入内容

此处省去安装和前言&#xff0c;需要两个东西 一个去下载安装python官方库 Welcome to Python.org 一个是编译器pycharm PyCharm 安装教程&#xff08;Windows&#xff09; | 菜鸟教程 PyCharm: the Python IDE for Professional Developers by JetBrains 第一节 练习print…...

Qt —UDP通信QUdpSocket 简介 +案例

1. UDP通信概述 UDP是无连接、不可靠、面向数据报&#xff08;datagram&#xff09;的协议&#xff0c;可以应用于对可靠性要求不高的场合。与TCP通信不同&#xff0c;UDP通信无需预先建立持久的socket连接&#xff0c;UDP每次发送数据报都需要指定目标地址和端口。 QUdpSocket…...

五大类注解和方法注解详解

五大类注解为Controller&#xff0c;Service&#xff0c;Repository&#xff0c;Configuration&#xff0c;Component,方法注解为Bean。 需要注意的是&#xff1a;Bean注解必须要在类注解修饰的类内才能正常使用。 一、与配置文件的关系 在spring原生项目中 如果你使用的spri…...

机器人中的数值优化(十)——线性共轭梯度法

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考&#xff0c;主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等&#xff0c;本系列文章篇数较多&#xff0c;不定期更新&#xff0c;上半部分介绍无约束优化&#xff0c;…...

数据结构与算法之贪心动态规划

一&#xff1a;思考 1.某天早上公司领导找你解决一个问题&#xff0c;明天公司有N个同等级的会议需要使用同一个会议室&#xff0c;现在给你这个N个会议的开始和结束 时间&#xff0c;你怎么样安排才能使会议室最大利用&#xff1f;即安排最多场次的会议&#xff1f;电影的话 那…...

【网络编程】网络基础概念

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…...

连接虚拟机报错 Could not connect to ‘192.168.xxx.xxx‘ (port 22): Connection failed.

使用xshell连接虚拟机报错 Connecting to 192.168.204.129:22… Could not connect to ‘192.168.204.129’ (port 22): Connection failed. Type help’ to learn how to use Xshell prompt. 按网上的方法 是否能ping通内外网 ping www.baidu.com防火墙是否关闭 firewal…...

数学建模--Topsis评价方法的Python实现

目录 1.算法流程简介 2.算法核心代码 3.算法效果展示 1.算法流程简介 """ TOPSIS(综合评价方法):主要是根据根据各测评对象与理想目标的接近程度进行排序. 然后在现有研究对象中进行相对优劣评价。 其基本原理就是求解计算各评价对象与最优解和最劣解的距离…...

超越时间与人力的软件开发智慧:《人月神话》

目录 1、写在前面2、沟通&#xff01;沟通&#xff01;沟通&#xff01;3、“银弹论”4、“人月神话”不能成立的原因5、影响力6、图书推荐 1、写在前面 《人月神话》是由计算机科学家弗雷德里克布鲁克斯所著的一本经典著作&#xff0c;首次出版于1975年。这本书以一个个小故事…...

Java Stream 流对象(实用技巧)

目录 一、InputStream & OutputStream 1.1、InputStream 和 OutputStream 一般使用 1.2、特殊使用 1.2.1、如何表示文件读取完毕&#xff1f;&#xff08;DataInputStream&#xff09; 1.2.2、字符读取/文本数据读取&#xff08;Scanner&#xff09; 1.2.3、文件的随机…...

【用unity实现100个游戏之8】用Unity制作一个炸弹人游戏

文章目录 前言素材开始一、绘制地图二、玩家设置三、玩家移动四、玩家四方向动画运动切换 五、放置炸弹六、生成爆炸效果七、墙壁和可破坏障碍物的判断八、道具生成和效果九、玩家死亡十、简单的敌人AI十一、简单敌人AI十二、随机绘制地图十三、虚拟摇杆 最终效果待续源码完结 …...

简易版人脸识别qt opencv

1、配置文件.pro #------------------------------------------------- # # Project created by QtCreator 2023-09-05T19:00:36 # #-------------------------------------------------QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsTARGET 01_face TEMP…...

如何系统地学习 JavaScript?

前言 在学习JavaScript前需要先将Html和Css的相关知识点弄清楚&#xff0c;Js的很多操作是要结合Html和Css&#xff0c;下面我总结了Html、Css和Js的相关学习知识点供参考&#xff0c;希望对你有所帮助喔~ Html 文档学习 【HTML 】w3school教程 :https://www.w3school.com.…...

深入解析亚马逊SP-API Reports模块:如何高效处理大规模数据报告

亚马逊SP-API Reports模块实战指南&#xff1a;从数据洪流中提炼商业价值 在跨境电商的竞技场中&#xff0c;数据就是新型石油。每天有超过250万卖家通过亚马逊平台产生海量交易数据&#xff0c;而SP-API Reports模块正是开采这座数据金矿的专属钻机。不同于基础的数据导出工具…...

告别繁琐安装!3分钟用PPTist打造专业级在线演示文稿

告别繁琐安装&#xff01;3分钟用PPTist打造专业级在线演示文稿 【免费下载链接】PPTist 基于 Vue3.x TypeScript 的在线演示文稿&#xff08;幻灯片&#xff09;应用&#xff0c;还原了大部分 Office PowerPoint 常用功能&#xff0c;实现在线PPT的编辑、演示。支持导出PPT文…...

高效音频录制实战:如何为你的Web应用选择最佳编码方案

高效音频录制实战&#xff1a;如何为你的Web应用选择最佳编码方案 【免费下载链接】Recorder html5 js 录音 mp3 wav ogg webm amr g711a g711u 格式&#xff0c;支持pc和Android、iOS部分浏览器、Hybrid App&#xff08;提供Android iOS App源码&#xff09;、微信&#xff0c…...

Qwen3-4B Instruct-2507实操手册:自定义system prompt提升专业领域表现

Qwen3-4B Instruct-2507实操手册&#xff1a;自定义system prompt提升专业领域表现 1. 引言&#xff1a;为什么需要自定义system prompt&#xff1f; 你可能已经体验过Qwen3-4B Instruct-2507的流畅对话了。它写代码、做翻译、回答一般问题都挺在行。但有时候&#xff0c;你可…...

企业级跨平台字体架构:PingFangSC现代化部署方案

企业级跨平台字体架构&#xff1a;PingFangSC现代化部署方案 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件&#xff0c;包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 在数字产品设计日益精细化的今天&#xff0c…...

如何3步上手语音转换:Retrieval-based Voice-Conversion-WebUI完整实战指南

如何3步上手语音转换&#xff1a;Retrieval-based Voice-Conversion-WebUI完整实战指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI 语音数据小于等于10分钟也可以用来训练一个优秀的变声模型&#xff01; 项目地址: https://gitcode.com/GitHub_Trending/re/R…...

从实例出发:宏平均、微平均与权重平均的计算与应用解析

1. 从混淆矩阵说起&#xff1a;理解评估指标的基础 在机器学习分类任务中&#xff0c;我们经常需要评估模型的性能。这时候就离不开混淆矩阵这个基础工具。假设我们有一个二分类问题&#xff0c;类别分别是"是"和"否"。混淆矩阵会告诉我们模型预测的正确和…...

别再乱设target_frame了!深度解读ROS2 pointcloud_to_laserscan源码,搞懂tf转换与消息过滤器的正确用法

别再乱设target_frame了&#xff01;深度解读ROS2 pointcloud_to_laserscan源码&#xff0c;搞懂tf转换与消息过滤器的正确用法 在机器人感知系统中&#xff0c;将三维点云数据转换为二维激光扫描数据是常见的降维处理手段。ROS2的pointcloud_to_laserscan功能包看似简单&…...

实战调试:段页式内存管理中的首次页故障剖析

1. 段页式内存管理基础概念 段页式内存管理是现代操作系统的核心机制之一&#xff0c;它巧妙结合了分段和分页两种技术的优势。简单来说&#xff0c;就像我们整理衣柜时既按季节&#xff08;分段&#xff09;又用收纳盒&#xff08;分页&#xff09;来管理衣物。CPU看到的线性地…...

汇编开发与系统构建:FloppyBird操作系统游戏的技术解构

汇编开发与系统构建&#xff1a;FloppyBird操作系统游戏的技术解构 【免费下载链接】floppybird Floppy Bird (OS) 项目地址: https://gitcode.com/gh_mirrors/fl/floppybird 一、价值&#xff1a;当游戏成为操作系统的技术突破 在计算机科学领域&#xff0c;"操作…...