您现在的位置是:主页 > news > 如何做财经网站/百度新闻

如何做财经网站/百度新闻

admin2025/6/26 8:50:46news

简介如何做财经网站,百度新闻,优质的企业网站,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

提示:

  1. 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;}
};