查看: 1715| 回复: 13
跳转到指定楼层
上一主题 下一主题
收起左侧

[其他] 问一道题目

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
问一道题目
对于任何一个string,如 uuuwioo 如何输出结果u3w1i1o2, 用什么数据结构? hash 不行
多谢

上一篇:才转EE就动摇想去CS的机械生求建议
下一篇:大三找暑研 套磁信怎样写教授回复率高一些
推荐
 楼主| xiaoxiaoc 2019-1-8 11:06:16 | 只看该作者
全局:
argumentt 发表于 2019-1-8 08:55
这个不用数据结构,直接brute force从头扫到尾。如果当前字符和前一个字符一致,就counter+1然后直接看下一 ...

你的解法是对的。我当时也是这么想的。不过没写出来程序。最近状态不佳。不过面试官说有一种数据结构可以用,而且他说我一定知道,但是他没有告诉我。 我现在也不清楚是哪个数据结构。
回复

使用道具 举报

推荐
 楼主| xiaoxiaoc 2019-1-8 11:07:45 | 只看该作者
全局:
hs9906 发表于 2019-1-8 09:07
抛砖引玉,假设只是小写的话,用26个字母的数组存出现次数。不知道你所谓的hash不行是指的不让用hash table ...

面试官说hash 用在这里是错的,我也觉得hash 用在这里是错的。他说有种数据结构可以用在这里,不过没有告诉我是哪个数据结构,他说我一定知道。
回复

使用道具 举报

推荐
 楼主| xiaoxiaoc 2019-1-9 05:52:09 | 只看该作者
全局:
微信用户_0x045 发表于 2019-1-9 05:07
难道是链表?每个结点存字母和连续出现次数。每出一个和上个不同的字符就开一个新结点……

linked list? 可能吧。不过按照面试官的意思估计没这么高级。
回复

使用道具 举报

全局:
这个不用数据结构,直接brute force从头扫到尾。如果当前字符和前一个字符一致,就counter+1然后直接看下一个;如果不一致就把前一段的结果记录到最终结果里,更新当前字符并且counter清零,接着读。
回复

使用道具 举报

全局:
抛砖引玉,假设只是小写的话,用26个字母的数组存出现次数。不知道你所谓的hash不行是指的不让用hash table还是这个思路都不让。毕竟这个解法也是hash的思路,只不过是自己构建的。
回复

使用道具 举报

🔗
Airtnp 2019-1-8 09:12:35 | 只看该作者
全局:
虽然只是扫一遍就能做完的但是也有个专有名词叫游程编码...
回复

使用道具 举报

全局:
需要in place么
回复

使用道具 举报

🔗
 楼主| xiaoxiaoc 2019-1-8 11:10:34 | 只看该作者
全局:
这个程序不难,只是我最近状态不佳。
回复

使用道具 举报

🔗
laurel_123 2019-1-8 11:35:35 | 只看该作者
全局:
xiaoxiaoc 发表于 2019-1-8 11:07
面试官说hash 用在这里是错的,我也觉得hash 用在这里是错的。他说有种数据结构可以用在这里,不过没有告 ...

难道是。。。 map?

补充内容 (2019-1-8 11:37):
em...我说的map其实也是hash表。。 弱菜发出去才反应过来T_T
回复

使用道具 举报

全局:
Hash是不行的,因为前后字符可能有重复,比如aabcccaa这种,没法知道一个重复是前后连续的字符重复还是不连续的字符串重复,最后还是要靠比较前后两个字符。如果是in place就比较复杂,比如像abcd这种情况需要插入
回复

使用道具 举报

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

本版积分规则

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