LeetCode刷题(python)——476. 数字的补数
题目描述:
给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。
注意:
- 给定的整数保证在32位带符号整数的范围内。
- 你可以假定二进制数不包含前导零位。
示例 1:
输入: 5 输出: 2 解释: 5的二进制表示为101(没有前导零位),其补数为010。所以你需要输出2。
示例 2:
输入: 1 输出: 0 解释: 1的二进制表示为1(没有前导零位),其补数为0。所以你需要输出0。
解题思路:
- 先得到给定数字的二进制形式
- 从后往前(从低位到高位)遍历二进制字符串
- 由于要取反,因此遇到0则加上这一位相应的权,遇到1 则不变
代码实现:
class Solution:def findComplement(self, num: int) -> int:bin = self.getBinary(num)n = 0 # n 用于存储权值之和i = 0for x in bin[-1: :-1]: # 从低位向高位遍历if x == '0':n += 2**ielse:passi += 1return ndef getBinary(self, t): # 这个函数用于得到二进制字符串s = ''while t > 1 :s += str(t % 2)t = int(t/2)s += str(t)ss = s[::-1]return ss
关注我的公众号免费获取海量python 学习资料!!!
LeetCode刷题(python)——476. 数字的补数相关推荐
- LeetCode刷题Python实录
使用Python的LeetCode刷题 前言 题目 1408. 数组中的字符串匹配 508. 出现次数最多的子树元素和 1089. 复写零 剑指 Offer 14- I. 剪绳子 1175. 质数排列 ...
- 【代码】LeetCode刷题Python版
python版LeetCode 算法部分 811. 子域名访问计数 class Solution:def subdomainVisits(self, cpdomains):""&q ...
- 【Leetcode刷题Python】40. 组合总和 II
1 题目 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每 ...
- C#LeetCode刷题之#374-猜数字大小(Guess Number Higher or Lower)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3993 访问. 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 ...
- 【Leetcode刷题Python】494. 目标和
1 题目 给你一个整数数组 nums 和一个整数 target . 向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums = [2, 1] ,可 ...
- 【Leetcode刷题Python】516. 最长回文子序列
1 题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度. 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列. 示例 1: 输入:s = &q ...
- 【Leetcode刷题Python】714. 买卖股票的最佳时机含手续费
1 题目 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每笔交易都需要付手续费.如果你已经 ...
- 【Leetcode刷题Python】55. 跳跃游戏
1 题目 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 示例 1: 输入:nums = [2 ...
- 【Leetcode刷题Python】生词本单词整理
1 题目 小A最近在努力学习英语.小A有一本生词本,专门用来记录见到的生词.每次小A看到一个自己不认识的单词时,就会把这个生词抄写到生词本上.经过几个月的学习之后,小A想对这个生词本上的单词进行整理. ...
- 【Leetcode刷题Python】416. 分割等和子集
1 题目 给你一个 只包含正整数 的 非空 数组 nums .请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 示例 1: 输入:nums = [1,5,11,5] 输出:true ...
最新文章
- VR與AI的激情相遇
- leetcode 106. Construct Binary Tree from Inorder and Postorder Traversal | 106. 从中序后序遍历序列构造二叉树(Java)
- 【华为云技术分享】Sketch插件技术 — 让研发和设计高效协同
- 《Algorithms》—— Dijkstra 的双栈算术表达式求值算法
- 极域电子教室软件怎么脱离控制_新疆灵感科技技术汇总~LED控制卡常见软、硬件问题...
- 分析ERP上线时可能存在的失误
- java 面向对象之内存管理
- 关于matlab的图像显示方法
- 2022年版中国石油焦市场运行现状调研与前景动态分析报告
- 梯形面积php,梯形的面积公式是什么
- Nvidia GPU 最新计算能力表(CUDA Compute Capability)
- strcmp与strncmp与memcmp的区别
- 键盘录入一个长方形的长和宽(长和宽为int类型),计算长方形的面积和周长
- android用bmob实现评论,Bmob在Android上的应用
- md5update java_JAVA实现MD5算法
- 保姆级-天翼网关TEWA-700G、TEWA-1000E/G等系列光猫获取超级密码
- python爬取税务局并将数据保存在Excel
- java红牛农场答案_Java面向对象程序设计实验指导与习题解答
- 修改Listen 1源码的一点心得
- kibana远端访问配置
热门文章
- TopCoder介绍
- docker部署Discuz论坛
- 5-1 厘米换算英尺英寸 (15分) PTA
- SSM框架+WebSocket实现网页聊天(Spring+SpringMVC+MyBatis+WebSocket)
- 怎么权衡不同类型项目的收益产出比 ROI?
- 中文信息处理实验2——基于词表的分词
- element-ui dialog遮罩层在最上层,关掉dialog遮罩层还在
- [附源码]计算机毕业设计JAVAjsp在线视频网站
- Xen,Hypervisor,XenServer的关系
- Citrix实践(三)——安装XenCenter管理XenServer