Python每日一练-----找不同

(day26)

🖍题目:

给定两个字符串 st ,它们只包含小写字母。

字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。

请找出在 t 中被添加的字母。

🌠示例 1:

输入:s = "abcd", t = "abcde"

输出:"e"

说明:'e' 是那个被添加的字母。

🌠示例 2:

输入:s = "", t = "y"

输出:"y"

题目分析:

题目和例题讲解清楚,在这不在赘述

解题思路:

对于这道题你可以使用两层的for循环遍历两个字符串一个一个比较,也可以使用位运算解题。解题的方法多种,这里介绍一个数据显示超过99%的程序的算法

🌈代码实现 

def findTheDifference(s, t):
    from collections import Counter
    k = Counter(t) - Counter(s)

    return list(k.keys())[0]

🌟代码注释

导入类collection使用Counter()方法

Counter()方法的作用是计算出字符串s或t中每个字符出现的次数。

---------------------------------------------

例如s = 'abcb'

print(Counter(s))

输出:

Counter({'b': 2, 'a': 1, 'c': 1})

----------------------------------------------

那么对于k = Counter(t) - Counter(s)

设s = 'abc' ,t = 'bc'

print(Counter(a) - Counter(d))

输出:

Counter({'a': 1})

-----------------------------------------------

keys()方法是获取字典中所有的键

如有字典dict = {'a': 1, 'b': 3, 'c': 1}

print(dict.keys())

输出:

dict_keys(['a', 'b', 'c'])

一般会搭配list()使用,使其变成列表。

因为dict.keys()的类型为<class 'dict_keys'>,不是列表

所以我们需要使用list()转化为列表,然后取出列表中的元素即可(因为不同只有一个,所以最后的列表只剩一个元素)

今天就到这,明天见。🚀

❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄end❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄❄

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亖夕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值