LCCUP 23 KUAISHOU
LCCUP 23 快手
https://leetcode.cn/problems/ryfUiz/solution/xian-duan-shu-zhao-dao-liao-3ge-bugzhong-4ihn/
一个多月前就和 “字节来快手” 的同事组好了队~
3h 6题 t6 到现在都还没看
我先 t1 wa 了一发然后过了排四百多名
然后队友 t2 直接过了
t3 dfs 超时,后来对每个坐标到其他字母的位置用了距离排序还是超时,才过了5个
t4 开始没注意到相同深度下要看度数/分支宽度来优先选择,导致只过了case1 没过case2,后来看了下只过了27/86个。
2h 19分时队友最后不抱希望地提交了一发,居然过了,先是对子树字符串排序然后拼接,我想到这里就没去写了,因为之前已经写了很长了,而且觉得这种是n平方的肯定过不了,后来发现这种只能过4个。
核心是排序时如果一个长字符串包含了一个短字符串,则优先走长字符串,因为长字符串后面肯定是0,而短字符串要上来肯定是1,0小于1。
讨论完t4思路后我开始继续写 t5,之前以为需要满足结合律才能用线段树,后来发现不需要满足。
用k个线段树单独处理每一位,到5点四十几写完了,但case1都过不了。六点结束后去吃饭了。
吃完饭回来debug,找到了3个bug,一个是线段树里合并两个子节点的方法错了,没那么复杂;一个是 & 操作符优先级小于 == 操作符没加括号;一个是 if(a&&b){} else{} 应该改成 if(a){if(b){}} else。。。
代码很乱,全扔题解里了,debug 大致过程也写上了。
https://leetcode.cn/problems/ryfUiz/solution/xian-duan-shu-zhao-dao-liao-3ge-bugzhong-4ihn/
一个多月前就和 “字节来快手” 的同事组好了队~
3h 6题 t6 到现在都还没看
我先 t1 wa 了一发然后过了排四百多名
然后队友 t2 直接过了
t3 dfs 超时,后来对每个坐标到其他字母的位置用了距离排序还是超时,才过了5个
t4 开始没注意到相同深度下要看度数/分支宽度来优先选择,导致只过了case1 没过case2,后来看了下只过了27/86个。
2h 19分时队友最后不抱希望地提交了一发,居然过了,先是对子树字符串排序然后拼接,我想到这里就没去写了,因为之前已经写了很长了,而且觉得这种是n平方的肯定过不了,后来发现这种只能过4个。
核心是排序时如果一个长字符串包含了一个短字符串,则优先走长字符串,因为长字符串后面肯定是0,而短字符串要上来肯定是1,0小于1。
讨论完t4思路后我开始继续写 t5,之前以为需要满足结合律才能用线段树,后来发现不需要满足。
用k个线段树单独处理每一位,到5点四十几写完了,但case1都过不了。六点结束后去吃饭了。
吃完饭回来debug,找到了3个bug,一个是线段树里合并两个子节点的方法错了,没那么复杂;一个是 & 操作符优先级小于 == 操作符没加括号;一个是 if(a&&b){} else{} 应该改成 if(a){if(b){}} else。。。
代码很乱,全扔题解里了,debug 大致过程也写上了。
全部评论
相关推荐
牛客84762733号:3月份吧,没有offer的我感觉时间过得很漫长
点赞 评论 收藏
分享