位1的个数
1.题目描述
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。
示例 1:
输入:00000000000000000000000000001011
输出:3
解释:输入的二进制串 00000000000000000000000000
最长连续递增序列
1.题目描述
给定一个未经排序的整数数组,找到最长且连续的的递增序列。
示例 1:
输入: [1,3,5,4,7]
输出: 3
解释: 最长连续递增序列是 [1,3,5], 长度为3。
尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。
相关专题
常见字母含义
相关概念
互质
映射与函数
集合
集合之间的关系及运算
区间与邻域
逻辑量词
--------------
安装
相关专题
关于Bulk加载模式
性能调优
性能瓶颈
性能瓶颈概览
性能瓶颈之Target
性能瓶颈之Source
性能瓶颈之Mapping
性能瓶颈之Ses
由于Python语言从规范到解释器都是开源的,所以理论上任何人都可以编写Python解释器来执行Python代码 目前存在以下几种主流的Python解释器CPython CPython是官方版本的解释器,是使用最广的Python解释器 CPython是用C语言开发的,所以叫CPytho
变量 变量可以是任意数据类型,在程序中用一个变量名表示 变量命名规则:必须是大小写英文、数字和_的组合,且不能用数字开头 在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量 这种变量本身类型不固定的语言称之为动
在Python中,采用的格式化方式和C语言是一致的,用%和format()函数实现
格式化字符串的时候,可以用Python的交互式环境测试,方便快捷
使用示例
%运算符就是用来格式化字符串的在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?
在最新的Python 3版本中,字符串是以Unicode编码的,即Python的字符串支持多语言编码和解码 字符串在内存中以Unicode表示,在操作字符串时,经常需要str和bytes互相转换 如果在网络上传输或保存到磁盘上,则从内存读到的数据就是str,要把str变为以字节为单位
分支:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
els
Python内置的字典数据类型:全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度 当将key-value放进dict时,dict会根据key算出value要存放地址,并将value放入该地址 当通过key从dict获取value时,dict
调用函数 Python内置了很多有用的函数,可直接调用 调用函数需知道函数的名称和参数,使用可参照官方的API文档 函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个别名
a = abs
print(a(-1)) #输出
位置参数
定义位置参数函数
def power(x, n): #函数有两个参数:x和n,这两个参数都是位置参数,调用函数时,传入的两个值按照位置顺序依次赋给参数x和n
s = 1
while n > 0:
默认参数可以简化函数的调用,降低调用函数的难度 设置默认参数时,有几点要注意: 1) 必选参数在前,默认参数在后,否则Python的解释器会报错 2) 如何设置默认参数 当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数 定
可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple 定义可变参数函数
def calc(*numbers):
sum = 0
for
关键字参数允许你传入0个或任意多个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict 对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数,以扩展函数的功能 但至于到底传入了哪些关键字参数,就需要在函数内部通过kw检查 定义关键字参数函数
def
如果要限制关键字参数的名字,可用命名关键字参数 定义命名关键字参数函数
def person(name, age, *, city, job): #和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数
print(na
在Python中定义函数,可以组合使用位置参数、默认参数、可变参数、关键字参数和命名关键字参数这5种参数 注意,参数定义的顺序必须是:必选参数 --> 默认参数 --> 可变参数 --> 命名关键字参数 --> 关键字参数 定义组合参数函数
def
如果给定一个list或tuple,可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration) 在Python中,迭代是通过for ... in来完成的 Python的for循环抽象程度要高于C的for循环,因为Python的for循环不仅可以用在list或tupl
概述 数据读写不一定是文件,也可在内存中读写 在内存中读写可分为两种: 1) 读写字符(StringIO),其操作的是str 2) 字节读写(BytesIO),其操作的二进制数据
StringIO StringIO就是在内存中读写str 要
在不同编程语言之间传递对象,须把对象序列化为标准格式,比如XML 但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可被所有语言读取,也可方便地存储到磁盘或者通过网络传输 JSON不仅是标准格式,并且比XML更快,而且可直接在Web页面中读取,因为JSON表示的对象就是标准的Jav