算法题-day1

这篇博客主要介绍了LeetCode上的初级算法题目,包括加一、移动0、两数之和、有效的数独和旋转图像等,讲解了使用Python解题的关键思路和技巧,并探讨了哈希表在解决这类问题中的应用。
摘要由CSDN通过智能技术生成

这里介绍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,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值