★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址: https://www.cnblogs.com/strengthen/p/10634364.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

Given a number N, return a string consisting of "0"s and "1"s that represents its value in base -2 (negative two).

The returned string must have no leading zeroes, unless the string is "0".

Example 1:

Input: 2
Output: "110"
Explantion: (-2) ^ 2 + (-2) ^ 1 = 2

Example 2:

Input: 3
Output: "111"
Explantion: (-2) ^ 2 + (-2) ^ 1 + (-2) ^ 0 = 3

Example 3:

Input: 4
Output: "100"
Explantion: (-2) ^ 2 = 4 

Note:

  1. 0 <= N <= 10^9

给出数字 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

8ms
 1 class Solution {
 2     func baseNeg2(_ N: Int) -> String {
 3         var num = N
 4         var str = ""
 5         var base = -2
 6         while num < 0 || num >= 2 {
 7             var q = Int(num / base)
 8             if num < 0, num % base != 0 { q += 1 }
 9             str = "\((num - q * base))\(str)"
10             num = q
11         }
12         if num != 0 {
13             str = "\(num)\(str)"
14         }
15         if str.isEmpty {
16             str = "0"
17         }
18         return str
19     }
20 }


Runtime: 16 ms
Memory Usage: 18.9 MB
 1 class Solution {
 2     func baseNeg2(_ N: Int) -> String {
 3         var N = N
 4         var ans:String = String()
 5         while(N != 0)
 6         {
 7             var r:Int = abs(N % 2)
 8             if r != 0 { N -= 1}
 9             var q:Int = N / -2
10             ans.append((r + 48).ASCII)
11             N = q
12         }
13         ans = String(ans.reversed())
14         if ans.isEmpty
15         {
16             ans.append("0")
17         }
18         return ans
19     }
20 }
21
22 //Int扩展
23 extension Int
24 {
25     //Int转Character,ASCII值(定义大写为字符值)
26     var ASCII:Character
27     {
28         get {return Character(UnicodeScalar(self)!)}
29     }
30 }

转载于:https://www.cnblogs.com/strengthen/p/10634364.html

[Swift]LeetCode1017. 负二进制转换 | Convert to Base -2相关推荐

  1. LeetCode 1017. 负二进制转换(负数进制转换)

    1. 题目 给出数字 N,返回由若干 "0" 和 "1"组成的字符串,该字符串为 N 的负二进制(base -2)表示. 除非字符串就是 "0&quo ...

  2. 力扣 每日一题 1017. 负二进制转换【难度:中等,rating: 1697】(负二进制)

    题目链接 https://leetcode.cn/problems/convert-to-base-2 题目来源于:第130场周赛 Q2 rating: 1697 思路 在题解区看到的一个非常优雅的解 ...

  3. 计算机十进制转为八位二进制,Java将十进制转换为8位二进制(Java convert from decimal to 8-bit binary)...

    Java将十进制转换为8位二进制(Java convert from decimal to 8-bit binary) 我写了简单的java代码来从十进制转换为8位二进制:抱歉这个愚蠢的问题 1 in ...

  4. IEEE754标准以及非常规划定义,double的二进制转换工具类

    IEEE754标准 ​ 今天我们要讨论的问题是在Java中:double pi = 3.14; 在内存中第10位上是0还是1? ​ 这个问题需要我们了解Java中double类型在内存中是如何存储的. ...

  5. 进制转换算法 (C语言实现一个简单的二进制转换工具) ------- 算法笔记010

    进制转换算法概念 其核心是利用栈的存储结构性质,进行数据的入栈出栈时的计算,让后将计算好的数据存入另一个栈内,最后再出栈输出.由于栈的先进后出特性,最后输出的顺序和输入的顺序是一样的.具体如上图. 栈 ...

  6. 汇编二进制转换ascii_将二进制数字转换为ASCII数字| 8085微处理器

    汇编二进制转换ascii Problem statement: 问题陈述: Write an assembly level program in 8085 which converts a binar ...

  7. java代码二进制转为十六进制_Java 中二进制转换成十六进制的两种实现方法

    Java 中二进制转换成十六进制的两种实现方法 每个字节转成16进制,方法1 /** * 每个字节转成16进制,方法1 * * @param result */ private static Stri ...

  8. php接口图片转二进制,怎么在php项目中对图片进行二进制转换

    怎么在php项目中对图片进行二进制转换 发布时间:2020-12-15 16:33:40 来源:亿速云 阅读:79 作者:Leah 这篇文章将为大家详细讲解有关怎么在php项目中对图片进行二进制转换, ...

  9. php二进制流转bmp图片,php图片的二进制转换实例

    这里我们是在上传文件时把上传的文件转换成二进制然后保存到数据的字段中去,下次读读出我们也用同样的方法显示即可. html,代码如下: 将图片保存到数据库,代码如下: //由于上传过来的图片被保存在一个 ...

最新文章

  1. java 变量单例_Java静态变量的用法:伪单例
  2. Ubuntu 中Eclipse 默认的OpenJDK 和 SUNJDK问题总结
  3. 关于VC6.0 MSDEV.EXE-应用程序错误0x5003eaed指令引用的0x000...
  4. 【C语言简单说】八:分支结构之if(1)
  5. 搜索计算机硬盘的索引恢复,可以做到秒搜的神器everything,你可知对硬盘到底有多大伤害...
  6. 到底梅西和C罗谁更强?分析7年大赛数据后,才知道谁在巅峰
  7. 人工智能大火能否烧开智能家居这锅水?
  8. Sublime Text 3 - 设置自动换行
  9. 带孩子们做环球旅行的读后感_孩子少言寡语、不爱说话怎么办?家长们可以这样做...
  10. python实现反向传播_如何反向链接列表? (C和Python实现)
  11. zend 插件 html,插入自定义HTML到Zend_Form的
  12. IDE已破解,不用预热,马上进入「微信小程序」开发
  13. 阁下可知文言编程之精妙?文言文亦能编程!此诚年度最骚语言也,数天6K星...
  14. 第18集丨不立志,天下无可成之事
  15. 实现sqrt()平方根函数
  16. DELPHI窗体属性介绍
  17. Sparse coding:
  18. 邮件 黑名单 白名单 灰名单
  19. 中级考试计算机界面是如何,中级会计如何无纸化考试
  20. 电脑联机获取更多主题服务器未响应,高手讲解win10系统联机获取更多主题的修复方法...

热门文章

  1. 177. Nth Highest Salary
  2. SQL 基础之管理方案对象(十七)
  3. Hibernate一对一主键单向关联
  4. php编辑页面代码,0069 PHP编程实现后台网页:新闻创建和编辑
  5. html5发布原文,HTML5 第二份草案发布
  6. java8 block_java8的CompletableFuture使用实例
  7. openlayers之obj.js提供的功能函数
  8. homebrew mac_借助Homebrew使从Mac到Linux的转换更加容易
  9. 数据战略规划_在战略规划期间我应该如何协作?
  10. jsp 内置对象 登录 cookie + session