219.存在重复元素Ⅱ

class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        HashSet<Integer> set = new HashSet<>();
        for(int i = 0; i < nums.length; i++) {
            if(set.contains(nums[i])) {
                return true;
            }
            set.add(nums[i]);
            // 每遍历一个,若大于k,则把前面的去掉
            if(set.size() > k) {
                set.remove(nums[i - k]);
            }
        }
        return false;
    }
}
<think>好的,用户是零基础的新手,第一次听说Python中增加元素的操作。我需要仔细解释,确保他能理解。首先,得明确Python中有哪些数据结构常用,比如列表、字典、集合、元组。但元组是不可变的,所以可能不需要讲怎么增加元素,或者需要提到它不可变。 接下来,用户问的是“增加元素”,所以重点放在列表、字典和集合上。需要分步骤讲解,每个数据结构如何添加元素。对于列表,append和extend方法是最基本的,还有insert方法。需要详细说明每个方法的使用场景和区别,比如append添加单个元素,extend添加多个,insert在指定位置插入。 然后,字典部分,可以通过键赋值或者update方法添加键值对。需要举例说明,比如dict['new_key'] = value,以及update如何合并字典。要确保用户明白字典的键是唯一的,重复添加会覆盖。 集合的话,add和update方法。要解释集合的元素唯一性,添加已存在的元素不会改变集合。同时,update可以添加多个元素,比如来自列表或其他可迭代对象。 可能需要提到字符串,但字符串是不可变的,所以不能直接添加元素,只能通过拼接生成新字符串。这部分可以简单带过,避免混淆。 另外,用户是零基础,例子要简单明了,避免使用复杂术语。每个方法的语法和示例都需要给出,比如列表的append使用my_list.append(元素),然后给出具体的例子,像添加数字或字符串。 还要注意常见错误,比如使用append时误用extend,或者在字典中添加元素时键的错误写法。可能需要提醒用户注意方法的使用区别,以及不同数据结构的特点。 最后,总结一下各个数据结构的添加方法,帮助用户对比记忆。确保回答结构清晰,分点讲解,每个部分都有示例代码,这样用户可以跟着练习,加深理解。</think>Python中给数据结构增加元素的操作需要根据不同类型使用对应方法,作为新手请先明确以下四种常用结构的添加方式: Ⅰ. 列表(List)的添加方法 1. append() - 末尾添加单个元素 ```python fruits = ['苹果', '香蕉'] fruits.append('橘子') # 结果:['苹果', '香蕉', '橘子'] ``` 2. insert() - 指定位置插入元素 ```python fruits.insert(1, '葡萄') # 插入到索引1的位置 # 结果:['苹果', '葡萄', '香蕉', '橘子'] ``` 3. extend() - 合并另一个列表 ```python fruits.extend(['西瓜', '芒果']) # 合并到末尾 # 结果:['苹果', '葡萄', '香蕉', '橘子', '西瓜', '芒果'] ``` Ⅱ. 字典(Dict)的添加方法 1. 直接赋值添加键值对 ```python student = {'name': '小明'} student['age'] = 18 # 新增键age # 结果:{'name': '小明', 'age': 18} ``` 2. update()合并字典 ```python student.update({'gender': '男', 'score': 90}) # 结果:{'name':'小明', 'age':18, 'gender':'男', 'score':90} ``` Ⅲ. 集合(Set)的添加方法 1. add()添加单个元素 ```python numbers = {1, 2, 3} numbers.add(4) # 结果:{1, 2, 3, 4} ``` 2. update()添加多个元素 ```python numbers.update([5, 6, 7]) # 结果:{1,2,3,4,5,6,7} ``` Ⅳ. 注意事项 1. 元组(Tuple)不可修改,无法添加元素 2. 字符串(String)不可修改,只能拼接: ```python s = "Hello" s = s + " World" # 新建字符串"Hello World" ``` 3. 列表的append与extend区别: ```python lst = [1,2] lst.append([3,4]) # 结果:[1,2,[3,4]] lst.extend([5,6]) # 结果:[1,2,[3,4],5,6] ``` 建议新手先用列表练习,这是最常用的可变序列类型。每种数据结构都有自己的特性,通过type()函数可以查看当前变量类型,避免操作错误类型的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值