您现在的位置是:主页 > news > 如何做财经网站/百度新闻
如何做财经网站/百度新闻
admin2025/6/26 8:50:46【news】
简介如何做财经网站,百度新闻,优质的企业网站,axure 做网站原型图题目描述: 给出数字 N,返回由若干 "0" 和 "1"组成的字符串,该字符串为 N 的负二进制(base -2)表示。 除非字符串就是 "0",否则返回的字符串中不能含有前导零。 示例 1&#…
如何做财经网站,百度新闻,优质的企业网站,axure 做网站原型图题目描述: 给出数字 N,返回由若干 "0" 和 "1"组成的字符串,该字符串为 N 的负二进制(base -2)表示。 除非字符串就是 "0",否则返回的字符串中不能含有前导零。 示例 1&#…
题目描述:
给出数字
N
,返回由若干"0"
和"1"
组成的字符串,该字符串为N
的负二进制(base -2
)表示。除非字符串就是
"0"
,否则返回的字符串中不能含有前导零。示例 1:
输入:2 输出:"110" 解释:(-2) ^ 2 + (-2) ^ 1 = 2示例 2:
输入:3 输出:"111" 解释:(-2) ^ 2 + (-2) ^ 1 + (-2) ^ 0 = 3示例 3:
输入:4 输出:"100" 解释:(-2) ^ 2 = 4提示:
0 <= N <= 10^9
算法:
参考了下面的这个博客,讲解的很好,我转换成了C++的代码。
参考Leetcode 1017:负二进制转换(超详细的解法!!!)
class Solution {
public:string baseNeg2(int N) {string s = "";while(N){int mod = N % (-2);if(mod < 0){N = N/(-2) + 1;mod = mod + 2;}elseN = N / (-2);s = to_string(mod) + s;}if(s=="")return "0";elsereturn s;}
};