Easy String 3 First Uniq character 逐行解释版本力扣

news/2024/11/17 15:58:04/

请逐行解释以下代码:

class Solution:def firstUniqChar(self,s:str) ->int:frequency =collections.Counter(s)for i,ch in enumerate(s):if frequency[ch] ==1:return ireturn -1

这是一个Python类,其中定义了一个名为firstUniqChar的方法,该方法旨在找到给定字符串中的第一个唯一字符。

让我们来一行一行地解释这段代码。

 

pythonCopy code

class Solution:

定义了一个名为Solution的新类。

 

pythonCopy code

def firstUniqChar(self,s:str) ->int:

在这个类中定义了一个方法firstUniqChar,它接收一个名为s的字符串参数,并返回一个整数值。self是类的一个实例,Python会自动传递它。在类的方法中,你会经常看到它。

 

pythonCopy code

frequency =collections.Counter(s)

这里,collections.Counter(s)是一个Python库函数,用于计算字符串s中每个字符出现的次数,并将结果以字典的形式返回,赋值给变量frequency。例如,如果s = 'hello',则frequency = {'h': 1, 'e': 1, 'l': 2, 'o': 1}

 

pythonCopy code

for i,ch in enumerate(s):

这行代码遍历字符串s中的每个字符及其索引。enumerate(s)函数返回一个元组,包含当前字符的索引(赋值给i字符本身(赋值给ch

 

pythonCopy code

if frequency[ch] ==1:

这里检查字典frequency中,字符ch出现的次数是否为1。如果是,说明这个字符在字符串s中是唯一的。

 

pythonCopy code

return i

如果上述条件为真,方法将返回该字符的索引i

 

pythonCopy code

return -1

如果在字符串s中没有找到唯一的字符,方法将返回-1

总的来说,这段代码会查找并返回在输入字符串s中第一个出现且仅出现一次的字符的索引。如果没有这样的字符,返回-1


http://www.ppmy.cn/news/440034.html

相关文章

PostgreSQL如何自定义函数并且调用

PostgreSQL如何自定义函数 一、背景二、函数语法说明 三、异常处理语法四、自定义函数示例1、format函数2、使用default参数3、根据输入的数字,返回两个数的商,若除数为0,则抛出自定义异常4、多个OUT或者INOUT参数时,返回是一个元…

测试金士顿固态硬盘软件,借装机之名测试SSD:金士顿的当红两款固态究竟如何?...

借装机之名测试SSD:金士顿的当红两款固态究竟如何? 2019-12-15 14:46:03 3点赞 7收藏 11评论 创作立场声明:产品都是自己购买,算是花样SHOW双12晒单 在刚刚过去的双十二,相信很多小伙伴和双十一样,剁手了许…

前端vue入门(纯代码)09

【09.vue中组件的自定义事件】 自定义组件链接 在vue中用的click【点击】、keyup【按键】……等事件,这些属于内置事件,也就是js自带的事件。 问题一:什么是组件自定义事件呢? 【内置事件】:是给html元素用的,比如s…

机械硬盘vs固态硬盘

提示:本文撰写的一部分内容借鉴了联想公众号【小黑干货】 文章目录 前言什么是机械硬盘不同颜色硬盘的区别优点缺点 什么是固态硬盘优点缺点 什么是双硬盘固态硬盘机械硬盘优点缺点 双固态硬盘优点缺点 总结: 前言 提示:这里可以添加本文要记…

Servlet (上篇)

哥几个来学 Servlet 啦 ~~ 目录 🌲一、什么是 Servlet 🌳二、第一个 Servlet 程序 🍇1. 创建项目 🍈2. 引入依赖 🍉3. 创建目录 🍊4. 编写代码 🍋5. 打包程序 🥭6. 部署程序…

限购解决方案

我需要大单量可是一个账号限购得厉害

借名买房规避限购政策的,合同应认定为无效

1.借名人与出名人为规避国家限购政策签订的《房产代持协议》因违背公序良俗应认定无效,借名人依据规避国家限购政策的借名买房合同关系,不能排除人民法院对该房屋的执行。 2.在借名买房并不违反公序良俗原则、不存在无效事由的情况下,借名人…

青岛市两化融合的政策

在本市行政区域内注册并经营一年以上,具有独立法人资格的制造业企业;项目竣工并投入使用,且近两年内信息化硬件、软件、网络、系统集成等完成投资100万元以上都可以申报两化融合。 申报材料 青岛市“两化融合”项目补助资金申报表;(2)企业营业执照、组…