学习笔记 | leetcode算法笔记

两数之和

def twoSum(self, nums: List[int], target: int) -> List[int]:
    numDict = dict()
    for i in range(len(nums)):
        if target-nums[i] in numDict:
            return numDict[target-nums[i]], i
        numDict[nums[i]] = i
    return [0]

 为什么用哈希表?——哈希表避免重复,判断一个元素之前是否遍历过。

用map哈希,map存放遍历过的元素——要查找的是元素,元素作为key

python的extend()方法实现串联——数组串联题

append()是向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加。
extend()向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加。

大写字母 A - Z的ASCII 码范围为 [65,90]

小写字母 a - z 的ASCII 码范围为 [97,122]

数组

数组的寻址公式:下标i对应的数据元素地址 = 数据首地址 + i× 单个数据元素所占内存大小。

原生 Python 中其实没有数组的概念,而是使用了类似 Java 中的 ArrayList 容器类数据结构,叫做列表。通常我们把列表来作为 Python 中的数组使用。Python 中列表存储的数据类型可以不一致,数组长度也可以不一致。

python在列表中插入数据:append和insert

Python 中的 list 列表直接封装了删除数组尾部元素的操作,只需要调用 pop 方法即可。

基于条件删除元素:remove(要删除的值)

189.轮转数组:

考虑到k大于len(nums)的情况,k要取余

nums与nums[:]的区别:前者指数组的对象,后者指数组中的元素

题目:

描述:给定一个数组nums,再给定一个数字k。
要求:将数组中的元素向右移动k个位置。


class Solution:
    def rotate(self, nums: List[int], k: int) -> None:
        k %= len(nums)  
        nums[:] = nums[-k:] + nums[:-k]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值