当前位置: 首页 > news >正文

字母异位词分组(力扣100

1.使用哈希存一个字符串的模板信息,即一个字符串出现的每个单词及其次数,并将这个消息转为一个字符串以便于比较

2.遍历strs,若为同一个模板,则加入

class Solution(object):

def hash_count(self,str):

hash_map={}

for i,value in enumerate(str):

if value in hash_map.keys():

hash_map[value]+=1

else:

hash_map[value]=1

return hash_map

def hash_to_str(self,hash):

l=[]

for v in hash.keys():

l.append([ord(v),hash[v]])

l.sort(key=lambda x: x[0])

str1=""

for x in l:

str1+=chr(x[0])+str(x[1])

return str1

def groupAnagrams(self, strs):

"""

:type strs: List[str]

:rtype: List[List[str]]

"""

hash_map={}

answer=[]

for i,value in enumerate(strs):

hash_i=self.hash_count(value)

str_i=self.hash_to_str(hash_i)

if str_i in hash_map:

hash_map[str_i].append(value)

else:

hash_map[str_i]=[]

hash_map[str_i].append(value)

for v in hash_map.keys():

answer.append(hash_map[v])

return answer

不熟的基本知识:

数字变字符串str()

列表变字符串" ".join(l)

列表就地排序l.sort(key=lambda x:x[0]) 其实不止是数字,字母也是可以排序的,所以ord和chr其实没有必要

生成新列表new_l=sorted(l,key=lambda x: x[0]) 这个所有可迭代的都可以排序,但是注意返回的是列表,也就是说字符串排序是会返回列表的,需要再join一下

字母变数字 ord()

数字变回字母 chr()

更简单的写法,字符串可以直接排序,不需要手写一个字符串的模板信息

没想到这个就是因为对于语法还不熟悉

注意不可变的才能做字典的键,列表不行,元组可以

更优的解法:

class Solution(object): def groupAnagrams(self, strs): """ :type strs: List[str] :rtype: List[List[str]] """ mp=collections.defaultdict(list) for st in strs: key="".join(sorted(st)) mp[key].append(st) return list(mp.values())
http://www.cnnetsun.cn/news/1338817.html

相关文章:

  • 构建DeOldify自动化测试流水线:基于CI/CD的模型迭代保障
  • 基于支持向量机的电力短期负荷预测【三种方法】附Matlab代码
  • FLUX.小红书极致真实V2部署教程:WSL2+NVIDIA GPU+Ubuntu 24.04最新环境适配
  • SOONet开源模型教程:如何替换视觉编码器(ViT-B-32.pt)接入自定义backbone
  • 零基础上手PP-DocLayoutV3:3步完成文档版面分析,小白也能轻松搞定
  • Nunchaku FLUX.1 CustomV3快速入门:10分钟完成Linux环境部署
  • LangChain:大模型时代的“神兵利器”,你了解多少?
  • HY-MT1.5-1.8B翻译模型性能优化:提升推理速度与降低显存占用
  • Qwen3-ForcedAligner避坑指南:5个常见误区与解决方案
  • 企业AI能力标准建设深度分析:从职级定义到技能矩阵的完整框架
  • Mermaid Live Editor:用代码编织可视化思维的开源平台
  • 黑丝空姐-造相Z-Turbo新手入门:无需代码一键启动模型
  • FastMCP避坑指南:自定义MCP服务器常见的5个部署错误及解决方法
  • YOLOv9官方镜像实测:5分钟搞定目标检测训练与推理
  • Fish Speech 1.5声音克隆惊艳效果展示:从录音到AI语音无缝迁移
  • Wan2.1 VAE效果展示:生成高质量人脸图像的惊艳案例集
  • RAGFlow API实战:如何用Python SDK快速集成OpenAI兼容接口(附错误处理技巧)
  • HUNYUAN-MT模型服务监控与运维:保障7x24小时稳定运行
  • Qwen3-Embedding-0.6B效果实测:中文相似度计算准确率超高
  • 造相-Z-Image-Turbo 计算机网络基础:理解模型API的HTTP请求与响应
  • Qwen3-ASR-1.7B效果展示:精准识别中文方言,粤语四川话都不在话下
  • 利用Cosmos-Reason1-7B构建网络安全威胁情报分析助手
  • LiuJuan20260223Zimage模型与MCP(Model Context Protocol)集成实践
  • Hunyuan-MT-7B场景应用:跨境电商、科研教学翻译实战
  • MiniCPM-V-2_6 OCR能力实测:超越GPT-4o的高精度文本识别案例
  • Chandra AI聊天助手数据结构优化:提升长对话记忆能力
  • XHS-Downloader:实现小红书无水印内容保存的技术民主化方案 - 让高质量资源获取触手可及
  • Step3-VL-10B-Base模型提示词(Prompt)工程入门:如何精准控制输出
  • DeepSeek-OCR-2使用技巧:Streamlit界面操作详解与文件管理
  • lite-avatar形象库开源镜像教程:基于HumanAIGC-Engineering/LiteAvatarGallery二次开发