室内设计师灵感网站,wordpress获取分类下文章列表,wordpress建站环境搭建,做塑料的外贸网站有哪些目录 左移操作
右移操作
其他博主的理解
应用——力扣题目78. 子集
解法
深度优先搜索
位运算
参考文献 左移操作
# 左移操作#xff0c;左移一位相当于乘以b#xff0c;ab,a a*(2^b)
print(23) # 2*2^3 16#xff0c;2的二进制10#xff0c;向…目录 左移操作
右移操作
其他博主的理解
应用——力扣题目78. 子集
解法
深度优先搜索
位运算
参考文献 左移操作
# 左移操作左移一位相当于乘以bab,a a*(2^b)
print(23) # 2*2^3 162的二进制10向左移动3位后10000
print(21) # 2*2^1 4
print(34) # 3*2^4 48,3的二进制为11向左移动四位后110000 16 4 48 右移操作
# 右移操作右移一位相当于除以b,ab,a a//(2^b)注意这里是整除当向右移动位数大于能移动的位数时置为0【可以理解为会将尾巴截掉】
print(23) # 2//2^3 02的二进制10向右最多移动2位后所以多移动无疑为0
print(21) # 2*2^1 4向右移动一位为01,
print(34) # 3*2^4 48,3的二进制为11向右移动四位后00
print(31) # 3*2^4 48,3的二进制为11向右移动一位后为01 0 1 0 1 其他博主的理解 和 都是位运算对二进制数进行移位操作。 是左移末位补0类比十进制数在末尾添0相当于原数乘以10x1是将x的二进制表示左移一位相当于原数x乘2。比如整数4在二进制下是10041左移1位变成1000(二进制)结果是8。 是右移右移1位相当于除以2。 而和就是对变量进行位运算移位之后的结果再赋值给原来的变量可以类比赋值运算符和-可以理解。 比如x2 就是把变量x右移2位再保留x操作后的值。 应用——力扣题目78. 子集 78. 子集——力扣题目 给你一个整数数组 nums 数组中的元素 互不相同 。返回该数组所有可能的子集幂集。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1 输入nums [1,2,3] 输出[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示例 2 输入nums [0] 输出[[],[0]] 提示 1 nums.length 10 -10 nums[i] 10 nums 中的所有元素 互不相同 解法
https://leetcode-cn.com/problems/subsets/solution/hui-su-python-dai-ma-by-liweiwei1419/
深度优先搜索 class Solution:# 深度优先搜索# 执行用时36 ms, 在所有 Python3 提交中击败了85.39% 的用户def subsets(self, nums):res []sub []n len(nums)def dfs(index,sub):if index n:res.append(sub[:])return# 不选择indexdfs(index1,sub)# 选择sub.append(nums[index])dfs(index1,sub)sub.remove(nums[index])dfs(0,sub)return res
位运算 记原序列中元素的总数为 nnn。原序列中的每个数字 aia_iai 的状态可能有两种即「在子集中」和「不在子集中」。我们用 111 表示「在子集中」000 表示不在子集中那么每一个子集可以对应一个长度为 nnn 的 0/10/10/1 序列第 iii 位表示 aia_iai 是否在子集中。 例如n3a{1,2,3} 可以发现 0/1 序列对应的二进制数正好从 0 到2^n - 1。我们可以枚举 mask∈[0,2^(n−1)]mask的二进制表示是一个 0/1 序列我们可以按照这个 0/1 序列在原集合当中取数。当我们枚举完所有 2n2^n2n 个 mask\textit{mask}mask我们也就能构造出所有的子集。 这里其实有规律首先是如果一个集合是由n个无重复数字组成的那么他的子集个数为2^n因此我们可以通过两次遍历一个用于遍历子集数一个用于遍历每个子集代表的二进制 class Solution:def subsets(self, nums: List[int]) - List[List[int]]:size len(nums)n 1 sizeres []for i in range(n):cur []for j in range(size):if i j 1:cur.append(nums[j])res.append(cur)return res参考文献
https://zhidao.baidu.com/question/310628609.html
https://www.zhihu.com/question/397471252