题目描述

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

示例 1:

输入: s = "anagram", t = "nagaram"

输出: true

示例 2:

输入: s = "rat", t = "car"

输出: false

说明:

你可以假设字符串只包含小写字母。

题目解法

方法一:统计词频进行比较

class Solution:
def isAnagram(self, s: str, t: str) -> bool:
from collections import Counter
maps = Counter(s)
mapt = Counter(t)
return maps == mapt

方法二:统计字母序号

class Solution:
def isAnagram(self, s: str, t: str) -> bool:
c1 = [0]*26
c2 = [0]*26 for c in s:
pos = ord(c) - ord('a')
c1[pos] = c1[pos] + 1 for c in t:
pos = ord(c) - ord('a')
c2[pos] = c2[pos] + 1 return c1 == c2

题目拓展:

来源:https://www.v2ex.com/t/624125

题目要求:比较两个单词,看前一个单词能否用后一个单词中的字母拼接出来。

def can_be_composed(a, b):
a_count = collections.Counter(a)
b_count = collections.Counter(b)
return all(a_count[k] <= b_count.get(k, 0) for k in a_count)

思路一致,只是词频不是用等号,用<= ,使用all确保所有条件都符合。

leetcode No.242 有效的字母异位词 valid-anagram (Python3实现)的更多相关文章

  1. LeetCode 242. 有效的字母异位词(Valid Anagram)

    242. 有效的字母异位词 LeetCode242. Valid Anagram 题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词. 示例 1: 输入: s ...

  2. 【LeetCode】242. 有效的字母异位词

    242. 有效的字母异位词 知识点:字符串:哈希表 题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注意:若 s 和 t 中每个字符出现的次数都相同,则称  ...

  3. leetcode.字符串.242有效的字母异位词-Java

    1. 具体题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注:判断两个字符串包含的字母是否完全一样. 示例 1: 输入: s = "anagram&q ...

  4. LeetCode 题解 | 242. 有效的字母异位词

    给定两个字符串 s 和t,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram" 输出 ...

  5. [Swift]LeetCode242. 有效的字母异位词 | Valid Anagram

    Given two strings s and t , write a function to determine if t is an anagram of s. Example 1: Input: ...

  6. 前端与算法 leetcode 242. 有效的字母异位词

    目录 # 前端与算法 leetcode 242. 有效的字母异位词 题目描述 概要 提示 解析 解法一:哈希表 解法二:数组判断字符出现次数 解法三:转换字符串 算法 传入测试用例的运行结果 执行结果 ...

  7. Java实现 LeetCode 242 有效的字母异位词

    242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = " ...

  8. Leetcode 242.有效的字母异位词 By Python

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram" ...

  9. [LeetCode] 242. 有效的字母异位词 valid-anagram(排序)

    注意这里字母异位词的定义是:字母类别及个数都要一样,只是排列顺序不同. class Solution(object): def isAnagram(self, s, t): ""& ...

随机推荐

  1. zabbix--CPU监控并告警

    zabbix监控CPU超值则报警 由于默认没有 cpu 的使用率监控,需要添加一个监控项,通过 system.cpu.util[,,] 来进行配置 添加监控项  添加图形 添加触发器 展示图

  2. 201671010442 葸铃 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 课程 2016级计算机科学与工程学院软件工程(西北师范大学) 作业要求 实验十四 团队项目评审&课程学习总结 作业学习目标 团队项目评审&课程学习总结 ...

  3. Spring Cloud 之 Gateway 知识点:网关

    Spring Cloud Gateway 是使用 netty+webflux 实现因此不需要再引入 web 模块. Spring Cloud Gateway 提供了一种默认转发的能力,只要将 Spri ...

  4. 高性能MySQL(一)——索引

    一.mysql索引分类 单值索引:一个索引只包含单个列,一个表可以有多个单列索引 唯一索引:索引列的值必须唯一,但允许有空值 复合索引:一个索引包含多个列 基本语法: 创建:1.CREATE [UNI ...

  5. spring MVC核心思想

    目录  一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...

  6. kvo与runtime

    创建新类 添加方法 isa-swizzling 测试方案: 添加全局断点 objc_allocateClassPair objc_registerClassPair class_addMethod l ...

  7. arduino入门笔记

    以 ARDUINO® UNO R3为例 一.将板子与电脑连接 初次使用会自动安装驱动. Arduino Uno通过USB连接到计算机或外部电源自动获取电源,因此此时能看到电源指示灯会亮. 我的L13也 ...

  8. Ice Igloos Gym - 101480I (暴力技巧)

    Problem I: Ice Igloos \[ Time Limit: 10 s \quad Memory Limit: 512 MiB \] 题意 给出\(n\)个圆,给出每个圆的坐标\(x\). ...

  9. SpringBoot:认认真真梳理一遍自动装配原理

    前言 Spring翻译为中文是“春天”,的确,在某段时间内,它给Java开发人员带来过春天,但是随着我们项目规模的扩大,Spring需要配置的地方就越来越多,夸张点说,“配置两小时,Coding五分钟 ...

  10. 5.学习springmvc响应json数据

    一.配置不过滤静态资源文件:用来访问webapp中js,css,images文件 1.修改springmvc.xml <!--配置前端控制器,用于设置哪些资源不拦截--> <mvc: ...