Lintcode180 Binary Representation solution 题解

【题目描述】

Given a (decimal -e.g.3.72) number that is passed in as a string, return the binary representation that is passed in as a string. If the fractional part of the number can not be represented accurately in binary with at most 32 characters, return ERROR.

给定一个数将其转换为二进制(均用字符串表示),如果这个数的小数部分不能在 32 个字符之内来精确地表示,则返回"ERROR"。

【题目链接】

www.lintcode.com/en/problem/binary-representation/

【题目解析】

将数字分为整数和小数两部分解决。根据“.”将n拆成两部分,注意"."是转义字符,需要表示成"\.",而不能直接用"."。corner case: n中没有"."。

整数部分:除以2取余数直到除数为0为止,转换成二进制数。corner case: "0"或者""的情况(之前n可能是"0.x"或者".x"),直接返回"0"。

小数部分:乘以2取整数部分直到小数部分为0或者出现循环为止,转换成二进制数。corner case: "0"或者""的情况(之前n可能是"x.0"或者"x."),直接返回"0"。用一个set记录数否出现重复的数,当出现重复的数或者当超过一定位数(这里取32)还不能完全表示小数部分时,返回"ERROR"。

【参考答案】

www.jiuzhang.com/solutions/binary-representation/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,357评论 0 33
  • “陪你把想念的酸,拥抱成温暖,陪你把彷徨,写出情节来,未来多漫长,再漫长,还有期待,陪伴你,一直到故事给说完。”初...
    熟年与君共阅读 1,508评论 0 0
  • 未眠人没有割舍午夜的聒噪, 后背依偎两半木头挖空的巢, 惦念那些不能亲尝的甘甜, 像陈旧的琴弦与琴弓肌肤相亲, 在...
    三水林枫阅读 3,047评论 15 20
  • 一 听说,饭否上的树洞酱坏掉了,听说而已,我只看它发了一篇悼文。但我却见过未坏的树洞酱,变幻莫测的穿插于饭否日常之...
    天使不投资人阅读 5,326评论 0 1
  • 文 / 朴玄 当初高考后选志愿时,没有仔细思考,胡乱填了一个志愿,就这样与建筑结缘。大学毕业之时,恰好又签了施工单...
    朴玄阅读 3,968评论 7 8

友情链接更多精彩内容