欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

2018 rundA C Scrambled Words

程序员文章站 2022-03-07 20:20:25
解题思路视频中说用hash table解决大数据集问题,emmm但是想了很久还是想不到,就放弃了(ps:python中的dic也相当于table)首先按照题目要求的生成字符串其次定义一个统计单词的函数cal_word_fre(),该函数返回列表num_list,num_list[0]为单词的首字母,num_list[1]为单词的尾字母,剩余26位为26个字母分别在单词中出现的次数最后针对所生成的字符串进行枚举(大概就是在枚举或者对字典中单词循环这里,才导致针对大数据集超时)ps:如果要让别人帮...

解题思路

视频中说用hash table解决大数据集问题,emmm但是想了很久还是想不到,就放弃了(ps:python中的dic也相当于table)

  1. 首先按照题目要求的生成字符串
    2018 rundA C Scrambled Words
  2. 其次定义一个统计单词的函数cal_word_fre(),该函数返回列表num_list,num_list[0]为单词的首字母,num_list[1]为单词的尾字母,剩余26位为26个字母分别在单词中出现的次数
  3. 最后针对所生成的字符串进行枚举(大概就是在枚举或者对字典中单词循环这里,才导致针对大数据集超时)
    ps:如果要让别人帮忙看代码哪里出错了,还是给别人demo吧,这样别人可以省略不必要的输入。外加我貌似学了丢丢python的debug,一步步continue也可以检错呢。https://blog.csdn.net/ghy_111/article/details/71714008
    开始的时候想过正则,但是正则可以匹配头尾,针对中间单词出现的次数一样,还是难以办到,但是不妨记记正则头尾的表达(防止我忘了):
word[0] + '.' * (len(word)-2) + word[-1]

代码链接:
https://github.com/naturliche/kick_start/blob/master/A_C/Scrambled%20Words.py

本文地址:https://blog.csdn.net/weixin_40579705/article/details/107294180