📜  门| GATE-CS-2015(套装3)|第 41 题(1)

📅  最后修改于: 2023-12-03 15:42:18.084000             🧑  作者: Mango

题目描述

你需要实现一个函数calc(A,B)来计算两个输入的参数A和B的值,其中A和B为字符串类型,且表示为二进制格式。函数应该返回A和B的二进制运算结果。

输入格式

输入是两个二进制数字字符串A和B

输出格式

输出是一个二进制数字字符串表示的计算结果

函数签名
def calc(A:str, B:str) -> str:
示例
示例输入1:
A = "1101"
B = "100"
示例输出1:
"10001"
示例输入2:
A = "101"
B = "1"
示例输出2:
"110"
思路

可以使用python内置的bin()函数将二进制字符串转换为对应的十进制整数,然后进行运算、转换。需要注意的是,转换后的整数需要将前面的'0b'切片去掉。在最后输出时,要用python的内置函数format()将运算结果格式化为二进制字符串。

代码实现
def calc(A:str, B:str) -> str:
    int_A = int(A, 2)
    int_B = int(B, 2)
    int_result = int_A + int_B
    result = format(int_result, 'b')
    return result
复杂度分析

时间复杂度:$O(n)$,其中n是输入的二进制字符串的长度。因为我们需要将输入的二进制字符串转换为对应的整数。

空间复杂度:$O(n)$,用于存储转换后的整数和最终的运算结果。