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

[其他] 求问一道算法题目

全局:

2017(7-9月)-CS本科+fresh grad 无实习或全职 | Other| 码农类General其他@
学哥学姐好,求问一道算法题目,是CSS Parsing,里口和网上都搜不到这道题的思路分析,萌新表示连题目中的example都看不懂,求学长学姐分析一下思路,谢谢

本帖子中包含更多资源

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

x

上一篇:GIS Programmer 求职 毫无头绪 求助
下一篇:请问有人面过Roblox的实习吗?我是Big Data岗位
推荐
twjeric 2018-1-11 13:18:29 | 只看该作者
全局:
先判断输入是否合法,比如应该以#开头,以及#后应该有三个或六个0-f(注意统一字母大小写)的字符;

为了代码简洁,可以把形如#abc的输入先转换成#aabbcc;

然后两个两个字符计算,比如aa->10*16+10=170, bb->11*16+11=187, cc->12*16+12=204;

再根据题意,对于颜色#rrggbb形式的编码,r在最低位,则前面例子里的aa所计算的值在最低位,最后得到结果170+256*187+256*256*204。

另外,可以将两个两个字符计算的结果存在HashMap里,提高多次调用时的效率。

(求加米)

评分

参与人数 1大米 +2 收起 理由
wjw779 + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
我觉得这个题目的意思是,输入的时候是按照RGB的顺序输入的,但是解析的时候是按照BGR的顺序解析的
每一个字符(0~f)代表一个四位的二进制数,所以也就是说,每个颜色由两个字符组成,也就是一个byte
按图中例子
#F00 -> #FF 00 00 -> 00 00 FF, 然后此24位二进制数对应十进位数为255;(每一位解析为一个四位的二进制数,一共4*4=24位)
#F800080 -> 80 00 80, 然后此24位二进制数对应十进位数为8388736;
#FFA500 -> 00 A5 FF, 然后此24位二进制数对应十进位数为42490;. From 1point 3acres bbs
最后一个非法输入,个人认为判断输入起始是否为#,以及每一位是否为0~F

评分

参与人数 1大米 +2 收起 理由
wjw779 + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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