字节跳动前端校招算法-手串
本文最后更新于568 天前,其中的信息可能已经过时,如有错误请发送邮件到1986413837@qq.com

本题思路:模拟+哈希表

因为手串的珠子有顺序和颜色数目信息 我们可以考虑使用二维数组 map[i][j]

其中表示竹子的序号 map[ i ][ 0 ] 表示珠子上有的颜色数目 map[ i ][ j ](map[ i ][ 0 ] >= j >=1) 表示珠子上包含第j种颜色 这样我们就成功模拟出一个手串的各珠子情况

如图为根据样例画出的map表单

完成基本构建后 我们就可以开始遍历了

对于每一个珠子 我们需要考虑由他开始往后的m个珠子的颜色情况 需要设置一个哈希表 记录当前区间内已经使用过的颜色情况 并将结果这个颜色记录到result数组中记录为1(不能是+1因为颜色的重复使用情况是考虑整个手串 只要记录一次) 接着遍历颜色种类 发现已经标记就给sum+1 最后输出sum就大功告成了

!!!注意!!!

手串是成环形状 所以在遍历时需要考虑是否超过界限 解决这个问题只需要进行取余即可

源代码和解析贴在这里 可以仔细再思考一下步骤

算法也是面试重点呀~加油加油加油!!!

Life's a struggle, I'll conquer it.
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇