首页 > 其他分享 >【排序】242. 有效的字母异味词

【排序】242. 有效的字母异味词

时间:2022-10-06 09:34:21浏览次数:54  
标签:False sorted mem 242 str 异味 return 排序

https://leetcode.cn/problems/valid-anagram/

这种题目简单是很简单,但是写起来很麻烦。

思路:

先搞一个dict用来存放第一个字符串各字符及其出现次数的对应关系。

然后遍历第二个字符串,对应的减掉次数。

看最后剩下的dict是个啥东西,就行了。

 

当然了,这题目也可以进行排序。但是需要注意,字符串是不可变类型,不能直接用obj.sort进行排序,因为字符串不能原地修改。所以只能用sorted.

而sorted返回的是一个排好序的字符数组。

 

代码:

 1 class Solution:
 2     def isAnagram(self, s: str, t: str) -> bool:
 3         mem = dict()
 4         for i in s:
 5             if i in mem:
 6                 mem[i] += 1
 7             else:
 8                 mem[i] = 1
 9         for i in t:
10             if i not in mem:
11                 return False
12             mem[i] -= 1
13             if mem[i] < 0:
14                 return False
15         for k in mem:
16             if mem[k] > 0:
17                 return False
18         return True

 代码: 排序版本:

 1 class Solution:
 2     def isAnagram(self, s: str, t: str) -> bool:
 3         if len(s) != len(t):
 4             return False
 5         s = sorted(s)
 6         t = sorted(t)
 7         for i in range(len(s)):
 8             if s[i] != t[i]:
 9                 return False
10         return True

 

标签:False,sorted,mem,242,str,异味,return,排序
From: https://www.cnblogs.com/bjfu-vth/p/16757037.html

相关文章

  • 十大排序算法(无代码)
    首先来介绍一些简单的概念:1.稳定:如果a原本在b的前面,且a=b,排序后a仍然在b的前面 不稳定:如果a原本在b的前面,且a=b,排序后a可能出现在b的后面 2.十大经典排序算法基......
  • 排序算法
    例如12,23,8,15,33,24,77,551.选择排序即从最小数开始排序,一次排一个2.冒泡排序从最后一个数开始比前一个数小就互换,比前一个数大就判断前一个数和再前一个数,一次迭代排好一......
  • Java冒泡排序
    publicclassArrayDome7{/*冒泡拍寻是最为出名的排序算法之一,总共又八大paixu冒泡排序的代码是:两层循环,外层冒泡轮数,里层依次比较时间......
  • 树状数组-归并排序-逆序对-2426. 满足不等式的数对数目
    问题描述给你两个下标从0 开始的整数数组 nums1和 nums2 ,两个数组的大小都为 n ,同时给你一个整数 diff ,统计满足以下条件的 数对 (i,j) :0<=i<j<=n-......
  • 基数排序
    以前没学过,以为是个很难的算法(不然也不会这么快)。然后今天要用到,就学了一下。最开始没看懂网上的题解,就自己琢磨了一下,然后有点理解了。桶排序(在OI-wiki上称作计数排序......
  • 快速排序算法
    快速排序(QuickSort)是对冒泡排序的一种改进,通过一趟排序将数据序列分成两部分,其中一部分的所有数据比另一部分的所有数据都要小,然后按此方法对两部分数据分别进行快速......
  • 合并两个list对象集合并排序
    List对象合并后进行排序业务场景用户相关字段数量较多时,会进行分表,用相同的id进行关联,而后进行数据查询时,需要将两张或者多张表的数据进行拼接思路:将其中一个list1转换为map......
  • 合并两个list对象集合并排序
    List对象合并后进行排序业务场景用户相关字段数量较多时,会进行分表,用相同的id进行关联,而后进行数据查询时,需要将两张或者多张表的数据进行拼接思路:将其中一个list1转换为map......
  • 冒泡排序算法
    冒泡排序算法(BubbleSort)算法是一种简单的排序算法,它在重复访问要排序的元素列时,会依次比较相邻的两个元素,如果左边的元素大于后边的元素,就将二者交换位置,如此重复,......
  • 排序只要按顺序走就一定没问题
    只要遵循第一个先和第二个比较,第二个在和第三个比较,就不用再第一个和第三个比较了三个都比:#include<iostream>#include<cmath>#include<algorithm>usingnamespac......