这里介绍LeetCode上初级算法题的记录和思考,学会总结!
1、数组
在python中使用list类型,关于list需要记住:
- list索引从0开始
- 可以使用赋值的方式直接修改元素值。list[0]=2
- 遍历list元素时,使用for i in range(start, stop, step): range函数从start开始,不包括stop结束,如果只有一个值:range(2),指的是0,1
- 使用del list[x]可以删除索引为x的元素
- list.append(obj)可在末尾添加元素
- list.insert(index, obj)可以在指定位置插入一个元素
- len(list)可以输出list的长度
- list*N复制N个list元素:[0]*4: [0,0,0,0]
- 两个list相加,进行组合:[1,2,3]+[2,3,4]: [1,2,3,2,3,4]
- 运算符:
- %取模,返回除法的余数
- //取整,返回商的整数部分
- list[::-1]从最后一个元素到第一个元素复制一遍
- 创建新list: iterable for _ in range(N)
dict类型:
- enumerate(seq, start)是python的内置函数,可将可遍历对象组合成索引序列,列出数据和下标,返回枚举对象的(index, seq)
- dict.get(key, default=None)
- defaultdict(set)里面也可以是其他可迭代对象,创建一个key不存在也不报错,而是返回默认值的一个dict。
内置函数:
- zip(iterable)可实现数组的转置,将迭代对象打包成元组,返回元组组成的list
- zip(*zip(xx)) *可将元组解压
7.加一
将一个整数存入数组中,每个元素只存入单一数字,除整数0外,整数不会以0开头。对此整数进行加一。
分析:
从最后一位开始,如果元素≠9,那么就不会出现进位,直接+1,如果元素=9,那么该位置0,前一位+1;
如果前一位≠9,直接+1,如果=9,那么置零,前一位+1
也就是说,遍历元素,只要元素出现≠9,那么直接+1,