给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。

注意:

  1. 给定的整数保证在32位带符号整数的范围内。
  2. 你可以假定二进制数不包含前导零位。

示例1:
输入: 5
输出: 2
解释: 5的二进制表示为101(没有前导零位),其补数为010。所以你需要输出2。

示例2:
输入: 1
输出: 0
解释: 1的二进制表示为1(没有前导零位),其补数为0。所以你需要输出0。

/*** @param {number} num* @return {number}*/
var findComplement = function(num) {};

个人解法

var findComplement = function(num) {var arr = [],result = 0;//取余法转二进制 4 -> [0,0,1]while(num !== 0){arr.push(num % 2);num = Math.floor(num / 2);}//数组各位反转[0,0,1] -> [1,1,0]for(var i = 0; i < arr.length; i ++){arr[i] = arr[i] === 1 ? 0 : 1;}//反转后的数组各位计数for(var i = 0; i < arr.length; i ++){result += Math.pow(2,i) * arr[i];}return result;
};

LeetCode(476)——数字的补数(JavaScript)相关推荐

  1. Java实现 LeetCode 476 数字的补数

    476. 数字的补数 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 示例 1: 输入: 5 输出: 2 解释: 5 的二进制表示为 101(没有前导零位),其补数为 010.所以你需要 ...

  2. leetcode 476. 数字的补数(Java版)| How to extract ‘k’ bits from a given position in a number

    题目 https://leetcode-cn.com/problems/number-complement/ 思路 我们想要返回已知数字的补数(num>=1). 思路: 获取 num 的二进制数 ...

  3. LeetCode 476. 数字的补数(移位 异或^)

    1. 题目 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 2. 解题 先求出该数的2进制有多少位 然后分别每位与1进行异或操作 class Solution {public:int f ...

  4. leetcode 476. 数字的补数(Number Complement)

    目录 题目描述: 示例 1: 示例 2: 解法: 题目描述: 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 注意: 给定的整数保证在32位带符号整数的范围内. 你可以假定二进制数不包含 ...

  5. [leetcode]476. 数字的补数

    1. class Solution {public:int findComplement(int num) {int res = 0;int t = 0;string s = "" ...

  6. 476. 数字的补数

    476. 数字的补数 给你一个 正 整数 num ,输出它的补数.补数是对该数的二进制表示取反. 例 1:输入:num = 5 输出:2 解释:5 的二进制表示为 101(没有前导零位),其补数为 0 ...

  7. 【LeetCode】476. 数字的补数 Number Complement

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:Leetcode, 力扣,476, 补数,二进制,Pyth ...

  8. LeetCode刷题(python)——476. 数字的补数

    题目描述: 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 注意: 给定的整数保证在32位带符号整数的范围内. 你可以假定二进制数不包含前导零位. 示例 1: 输入: 5 输出: 2 解 ...

  9. leetcode 476. Number Complement | 476. 数字的补数(位运算)

    题目 https://leetcode.com/problems/number-complement/ 题解 class Solution {public int findComplement(int ...

  10. Leetcode 476. Number Complement 补数 解题报告

    1 解题思想 这道题给了一个正的整数,然后需要计算一个特殊的补数,这个补数的计算方式是: 1.对于这个整数num,转换成对应的二进制表示,这个二进制表示共有x位(不高于32) 2.将这x位取反后,得到 ...

最新文章

  1. Python,自己修改的爬取淘宝网页的代码 修改Python爬虫,爬取淘宝商品信息也不报错,也不输出信息的错误
  2. myBaits SQL
  3. 华理c语言设计网上作业,华东理工大学第一学年第二学期网上作业参考答案C语言设计1...
  4. 在Win7上安装WINDRIVER.TORNADO.V2.2.FOR.PENTIUM与运行HelloWorld
  5. MySQL - 多版本控制 MVCC 机制初探
  6. 用上 RocketMQ,系统性能提升了 10 倍!
  7. 11个实用的CSS学习工具
  8. fork与vfork的区别
  9. 创业 4 年获近 7000 万美元融资,53 岁老程序员 all in 开源
  10. Win7中如何删除访问共享时所保存的用户名和密码
  11. java转pdf_Java转PDF(基础)
  12. 【详解】EL表达式和JSTL标签库的使用
  13. 深入原理64式:39 线性代数公式总结
  14. 使用Helix QAC对OpenHarmony代码做静态分析
  15. 生活大爆炸第二季 那些精妙的台词翻译
  16. php 字符串加密解密
  17. 用健身的思维来对待学习
  18. CSP-J第一轮常考知识点
  19. 什么样的系统是一个好的的系统
  20. 香港中文大学教授、麻省理工牛人林达华解说现代数学体系

热门文章

  1. 关于单点登录的一些资料(转)
  2. js中函数参数值传递和引用传递
  3. 堆排序--采用快速排序(利用大堆实现升序,小堆实现降序)
  4. SCVMM 2012 R2---安装前的准备工作
  5. 使用Visual Studio 部署SharePoint时提示“路径中具有非法字符”
  6. C#线程锁使用全功略
  7. ibm量子计算机应用,科学网—IBM量子计算机获重大突破 可进行百万项计算
  8. 【工程项目经验】之32/64位平台printf uint64的方法
  9. SpringBoot-WebMvcAutoConfiguration/WebMvcConfigurer/WebMvcRegistrationsAdapter
  10. IP分类以及子网掩码