zoukankan      html  css  js  c++  java
  • 边工作边刷题:70天一遍leetcode: day 30

    Group Anagrams

    在当下绝对是简单题了,uber考过要求不用sort string实现,可以统计字符个数encode。比如aabd=a2b1d1,用数组表示hash表。这题python实现有个catch,因为input是strs,很容易用str作为单个string的表示。这样hide了str()函数,报错:TypeError: 'unicode' object is not callable

    class Solution(object):
        def groupAnagrams(self, strs):
            """
            :type strs: List[str]
            :rtype: List[List[str]]
            """
            def getHash(s):
                hd = [0]*256
                for c in s:
                    hd[ord(c)]+=1
    
                res = []
                for i in range(256):
                    if hd[i]!=0:
                        res.append(chr(i)+str(hd[i]))
                return ''.join(res)
    
            hsd = {}
            for s in strs:
                hs = getHash(s)
                if hs not in hsd:
                    hsd[hs]=list()
                hsd[hs].append(s)
                
            res = []
            for k in hsd:
                hsd[k].sort()
                res.append(hsd[k])
            return res
                
    
  • 相关阅读:
    安装selenium
    虚拟机安装Linux系统
    Pycharm安装+python安装+环境配置
    shell命令
    单例模式
    装饰者模式
    AtomicInteger的CAS原理
    J.U.C总览图
    锁机制(四)
    锁机制(三)
  • 原文地址:https://www.cnblogs.com/absolute/p/5678102.html
Copyright © 2011-2022 走看看