【每日一题Day134】面试题 05.02. 二进制数转字符串 | 二进制

简介: 【每日一题Day134】面试题 05.02. 二进制数转字符串 | 二进制

面试题 05.02. 二进制数转字符串

二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。

要996了

  • 思路:十进制的小数部分转化为二进制采用乘2取整,顺序排列的方法,如果字符串长度大于32则返回“ERROR”,否则返回最终结果
  • 实现
class Solution {
    public String printBin(double num) {
        StringBuilder sb = new StringBuilder();
        sb.append("0.");
        while(num > 0){
            if (sb.length() == 32) return "ERROR";
            num *= 2;
            sb.append(String.valueOf((int)num));
            num %= 1;
        }
        return sb.toString();
    }
}

复杂度

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)
目录
相关文章
|
5月前
|
存储
力扣面试经典题之数组/字符串
力扣面试经典题之数组/字符串
46 0
|
5月前
面试题 08.08:有重复字符串的排列组合
面试题 08.08:有重复字符串的排列组合
48 0
|
2月前
|
安全 Java 编译器
【Java基础面试二十九】、说一说你对字符串拼接的理解
这篇文章讨论了Java中字符串拼接的四种常用方式(使用`+`运算符、`StringBuilder`、`StringBuffer`和`String`类的`concat`方法),每种方式适用的场景,以及在不同情况下的性能考量。
|
2月前
|
Java
【Java基础面试二十八】、使用字符串时,new和““推荐使用哪种方式?
这篇文章讨论了在Java中使用字符串时,推荐使用双引号`""`直接量方式而不是使用`new`操作符,因为`new`会在常量池之外额外创建一个对象,导致更多的内存占用。
|
3月前
|
存储 安全 Java
Java面试题:请解释Java中的字符串和字符串缓冲区?
Java面试题:请解释Java中的字符串和字符串缓冲区?
29 0
|
4月前
|
存储 算法 数据挖掘
深入解析力扣166题:分数到小数(模拟长除法与字符串操作详解及模拟面试问答)
深入解析力扣166题:分数到小数(模拟长除法与字符串操作详解及模拟面试问答)
|
5月前
|
存储 算法 安全
【刷题】 leetcode 面试题 01.06 字符串压缩
来看效果: 非常好!!!过啦!!!
56 5
【刷题】 leetcode 面试题 01.06 字符串压缩
|
5月前
【一刷《剑指Offer》】面试题 10:二进制中 1 的个数
【一刷《剑指Offer》】面试题 10:二进制中 1 的个数
|
5月前
|
索引 Python Go
【python学习】字符串详解,面试必问公司的问题
【python学习】字符串详解,面试必问公司的问题
|
5月前
|
存储 Go 开发者
Golang深入浅出之-Go语言字符串操作:常见函数与面试示例
【4月更文挑战第20天】Go语言字符串是不可变的字节序列,采用UTF-8编码。本文介绍了字符串基础,如拼接(`+`或`fmt.Sprintf()`)、长度与索引、切片、查找与替换(`strings`包)以及转换与修剪。常见问题包括字符串不可变性、UTF-8编码处理、切片与容量以及查找与替换的边界条件。通过理解和实践这些函数及注意事项,能提升Go语言编程能力。
149 0