网易笔试求解

第一道题:二叉树字符编码找重复子树

给定一棵中序遍历的二叉树,如果当前树为空则表示为X,如果不为空则表示为(left_tree)cur_value(right_tree),其中left_tree和right_tree分别表示按此规则序列化之后的左右子树字符串。找出重复子树的数量,相同子树只计算一次。

输入:

字符编码的二叉树

输出:

重复子树的个数

例子:

输入:

((X)2(X))1(((X)4(X))3((X)2(X)))

输出:

1

解释:只有相同节点2

这题我的做法就是中心扩展找出所有可能的子树,利用哈希表来发现重复的子树,但是不知道为什么只过了66.7,并没有提示是超时等问题,想问问大佬的解决方案。

第二题:归元等运算

定义运算规则(=)为归元等,对于字符串string1和string2分别去重之后构成的字符集合S1和S2,如果S1和S2中的元素完全相等,则string1和string2就具有归元等的关系,如aabbc233 (=) a32bcca,因为两个字符串都是由a,b,c,2和3这五个字符组成的。

现给出一个字符串A和一组字符串B[n],问有多少种i和j的选择,可以满足等式B[i] + A (=) B[j]

输入:

第一行:字符串A

第二行:B中字符串的数量

第三行至最后一行:每行一个字符串:B1, B2, B3 ...

输出:

一共多少种组合,限制i不等于j,但是Bi可以等于Bj

这题我就疯狂哈希模拟了一波直接超时,求大佬的解决方案

#网易##网易春招##网易笔试##笔试##算法题#
全部评论
归元这道题用map<string>存储string和去重后的字符串集合;使用sort+unique排序去重的字符串;遍历时通过某种规则计算结果,详见 https://www.nowcoder.com/discuss/472115938377158656?sourceSSR=users</string>
2 回复 分享
发布于 2023-04-02 19:01 辽宁
第一个遇左括号推进stack,遇右括号发现一个子树,哈希表记录子树的次数可以过,第二个怎么弄求
1 回复 分享
发布于 2023-04-02 12:58 美国
大佬今天最后一题是用的dp吗
1 回复 分享
发布于 2023-04-02 12:54 福建
这两题我也非常暴力。第一个我干脆直接数有多少个重复数字了也 66。第二个模拟超时55。😂
1 回复 分享
发布于 2023-04-02 12:49 北京
第二题一样,不过我用set去存结果,只过了11%
1 回复 分享
发布于 2023-04-02 12:31 广东
大佬是投的雷火吗,我也投的雷火没收到笔试
点赞 回复 分享
发布于 2023-04-02 14:40 四川

相关推荐

来个厂收我吧:首先,市场侧求职我不是很懂。 但是,如果hr把这份简历给我,我会觉得求职人不适合做产品经理。 问题点: 1,简历的字体格式不统一,排版不尽如人意 2,重点不突出,建议参考star法则写个人经历 3,印尼官方货币名称为印度尼西亚卢比(IDR),且GMV690000印尼盾换算为305人民币,总成交额不高。 4,右上角的意向职位在发给其他公司时记得删除。 5,你所有的经历都是新媒体运营,但是你要投市场营销岗位,jd和简历不匹配,建议用AI+提示词,参照多个jd改一下经历内容。 修改建议: 1,统一字体(中文:思源黑体或微软雅黑,英文数字:time new romans),在word中通过表格进行排版(b站学) 2,校招个人经历权重:实习经历=创业经历(大创另算)>项目经历>实训经历>校园经历 3,请将项目经历时间顺序改为倒序,最新的放最上方。 4,求职方向不同,简历文字描述侧重点也需要不同。
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务