python实现输出一个序列的所有子序列示例
作者:Tiffany_959 发布时间:2022-04-13 18:34:45
标签:python,输出,序列,子序列
如下所示:
def sub(arr):
finish=[]
size = len(arr)
end = 1 << size #end=2**size
for index in range(end): # shift index
array = []
for j in range(size):
# 00,01,10,11 is symmetrical
if (index >> j) % 2: # this result is 1, so do not have to write ==
array.append(arr[j])
# print(array)
finish.append(array)
return finish
移位运算符 << 的优先级大于赋值 =
用01二进制串决定数组中的每个数字是否输出
[]=000;[1]=100;[2]=010;[3]=001;[1,2]=110;[1,2,3]=111…
如何实现?
第一个循环实现的是01串的遍历,eg.由000到111
第二个循环实现的是数组的遍历,eg.将000与数组中的每一位数字做判断
在if语句中,用到了向右移位,由于二进制串是对称的,所以我们可以将01串从后向前与数组中的每一位数字做判断。
eg.001与100对称,110与011对称…
在001中,最后一位是1,说明数组中3需要输出
但是在我们遍历数组的时候,先遇到的是1与arr[0],不过由于对称性,这种情况其实与在100中,后遇到的是1与arr[2]
来源:https://blog.csdn.net/Tiffany_959/article/details/102651770


猜你喜欢
- 本文实例讲述了windows下Python实现将pdf文件转化为png格式图片的方法。分享给大家供大家参考,具体如下:最近工作中需要把pdf
- # -*- coding: utf-8 -*- import numpy as npimport matplotlib.pyplot as
- FrontPage 2003在功能上增强了不少,下面我们一起来看看新版本中比较突出的9个新功能。1.自定义浏览器分辨率预览检查 在
- Windows 10 x64macOS Sierra 10.12.4Python 2.7准备好装哔~了么,来吧,做个真正意义上的绿色小软件W
- 记录一次报错解决方法:No converter found capable of converting from type [java.la
- var classA = function(){ this.prop1 = 1; } classA.prototype.func1 = fu
- 1.按列取、按索引/行取、按特定行列取import numpy as npfrom pandas import DataFrameimpor
- 写models.py时缺少了一个 verbose_name,导致数据库出现问题,整了很久,摸索出重新建立数据库的方法:首先删除每个app中的
- 前言:记一次golang使用json进行对象copy的内存溢出问题排查问题现象:新增的功能,灰度部署在k8s集群的服务,发现机器老是被打崩,
- Django项目要操作数据库,首先要和数据库建立连接,才能让程序中的数据和数据库关联起来进行数据的增删改查操作Django项目默认使用mys
- 如下所示:list=[1,2,3,4,5,6,7,8,9,0,11,0,13,14,15,16,17,18,19,20]#把list分为长度
- 一、原理概述v-for指令时在模板编译的代码生成阶段实现的,当遍历数组或对象时需要使用列表渲染指令v-for。当Vue.js用v-for正在
- 随着“ * ”建设的逐步深入和 * 信息化的高速发展, * 计算机应用系统被广泛应用在各警种、各部门。与此同时,应用系统体系的核心、系统数据的
- 语音识别工作原理简介语音识别源于 20 世纪 50 年代早期在贝尔实验室所做的研究。早期语音识别系统仅能识别单个讲话者以及只有约十几个单词的
- 有时候让了解放双手,让电脑来帮我们自动发一些我们想要发的消息,挺省力的,比如说白天写好了演讲稿,晚上要在群里进行文字演讲,那么我们就可以用脚
- 当创建一个Models, 在同步到数据库里,django默认设置了三个权限 ,就是 add, change, delete权限。但是往往有时
- 尾递归是一种特殊的递归形式,它在递归调用时不会产生新的栈帧,从而避免了栈溢出的问题。Python并没有对尾递归进行优化,但我们可以通过一些技
- 本文实例讲述了python实现将pvr格式转换成pvr.ccz的方法。分享给大家供大家参考。具体实现方法如下:import zlibimpo
- 自定义一个demo指令Vue自定义指令语法如下:Vue.directive(id, definition)传入的两个参数,id是指指令ID,
- 前言: MySQL 主从架构应该是最常用的一组架构了。从库会实时同步主库传输来的数据,一般从库可以作为备用节点或作查询使用。其实不只是主库需