数据结构 字符串 (第6天)

简介: 数据结构 字符串 (第6天)

387. 字符串中的第一个唯一字符

返回字符串中第一个出现次数为一的下标。

ditc统计出现次数后遍历:

class Solution:
    def firstUniqChar(self, s: str) -> int:
        word_count = defaultdict(int)
        for x in s:
            word_count[x] += 1
        for idx,x in enumerate(s):
            if word_count[x] == 1:
                return idx
        return -1

383. 赎金信

输入两个字符串s1,s2

判断s1能不能通过s2中的字符拼凑出来。

使用Counter统计字符出现次数,只要s2中的字符出现次数比s1的次数多就可以。

class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        cnt1 = Counter(ransomNote)
        cnt2 = Counter(magazine)
        for k,v in cnt1.items():
            if k in cnt2 and cnt2[k] >= v:
                continue
            else:
                return False
        return True

242. 有效的字母异位词

给定两个字符串st ,编写一个函数来判断 t 是否是 s 的字母异位词。

注意:若 st 中每个字符出现的次数都相同,则称 st 互为字母异位词。

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        return Counter(s)== Counter(t)
相关文章
|
1月前
|
XML JSON NoSQL
Redis的常用数据结构之字符串类型
Redis的常用数据结构之字符串类型
36 0
|
1月前
|
设计模式 算法 Java
【数据结构和算法】确定两个字符串是否接近
这是力扣的1657题,难度为中等,解题方案有很多种,本文讲解我认为最奇妙的一种。复杂度分析:时间复杂度:O(max⁡{n1,n2}+Clog⁡C),其中 n1 和 n2 分别是字符串 word1 和 word2 的长度,C=26 是字符集大小。空间复杂度:O(C)。
51 1
|
3天前
|
存储 JavaScript 前端开发
JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)
【6月更文挑战第25天】JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)。
10 2
|
2天前
|
存储 算法 Java
Java数据结构与算法:用于高效地存储和检索字符串数据集
Java数据结构与算法:用于高效地存储和检索字符串数据集
|
3天前
|
算法 Java
Java数据结构与算法:字符串匹配算法之暴力匹配
Java数据结构与算法:字符串匹配算法之暴力匹配
|
3天前
|
算法 Java
Java数据结构与算法:字符串匹配算法之KMP算法
Java数据结构与算法:字符串匹配算法之KMP算法
|
30天前
题目----数据结构线性表----字符串逆序
题目----数据结构线性表----字符串逆序
17 1
|
1月前
|
存储 索引 Python
Python数据结构——字符串
Python数据结构——字符串
31 0
|
1月前
|
存储 NoSQL 安全
Redis入门到通关之数据结构解析-动态字符串SDS
Redis入门到通关之数据结构解析-动态字符串SDS
30 0
|
1月前
|
存储 安全 索引
Day5 长篇:字符串和常用数据结构
Day5 长篇:字符串和常用数据结构
9 0