12
返回列表 发新帖
楼主: anqboy
跳转到指定楼层
上一主题 下一主题
收起左侧

Google 跪经

🔗
sunnyroom 2016-10-29 00:02:56 | 只看该作者
全局:
cgxy1991 发表于 2016-10-28 07:06
这个不难吧。全部收进hashmap,key是字母,value是出现次数。然后遍历hashmap组成新的字符串,直到全部字母 ...

比如 字符串 abb,用hashmap的话,结果还是abb吧
回复

使用道具 举报

🔗
null_point_exc 2016-10-29 00:12:03 | 只看该作者
全局:
sunnyroom 发表于 2016-10-29 00:02
比如 字符串 abb,用hashmap的话,结果还是abb吧

for(char c = 'a'; c <= 'z'; c++ )
回复

使用道具 举报

🔗
cgxy1991 2016-10-29 03:43:39 | 只看该作者
全局:
sunnyroom 发表于 2016-10-29 00:02
比如 字符串 abb,用hashmap的话,结果还是abb吧

我之前想的有点简单,不过还是做出来了。需要一个array做map,还需要一个priorityqueue来根据字母出现的次数排序。复杂度仍然是O(n)

补充内容 (2016-10-29 03:44):
我做出了leetcode358
回复

使用道具 举报

🔗
sunnyroom 2016-10-29 10:44:32 | 只看该作者
全局:
null_point_exc 发表于 2016-10-28 04:34
count sort 就是o(n). sort 结果是几个a 几个b ..循环的意思是abcdef...这么循环

比如字符串abb,count的结果是1个a, 2个b
你怎么循环得到结果?
回复

使用道具 举报

🔗
oily 2016-10-29 10:59:45 | 只看该作者
全局:
通过O(n)另外建一个次数为key,字母数组为value的map就好,这样的话就可以从高的value处理到低的value
回复

使用道具 举报

🔗
sunnyroom 2016-10-29 11:43:43 | 只看该作者
全局:

总感觉这低配版,有更简单的方法做。。。
回复

使用道具 举报

🔗
gamesover 2016-10-30 12:16:33 | 只看该作者
全局:
sunnyroom 发表于 2016-10-29 11:43
总感觉这低配版,有更简单的方法做。。。

我觉得最简单的就是这个了
https://discuss.leetcode.com/topic/48260/java-15ms-solution-with-two-auxiliary-array-o-n-time
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表