随笔分类 - 学习记录
python中的链表
摘要:在 Python 中,链表不是内置的数据结构,但可以通过类的方式实现自定义链表。以下是链表在刷算法题中常用的语法和操作方法。 1. 定义链表节点 链表节点是一个包含值和指向下一个节点的指针的结构: class ListNode: def __init__(self, val=0, next=None
python中的栈
摘要:在 Python 中,栈是一种数据结构,常用于需要遵循 后进先出(LIFO) 原则的操作。在刷算法题时,栈常用来解决括号匹配、单调栈、深度优先搜索等问题。 以下是 Python 中栈的相关语法和常用操作。 栈的实现方式 Python 中可以使用以下两种方式实现栈: 使用列表 (list)。 使用 c
python中的优先队列
摘要:在 Python 中,优先队列(Priority Queue)是一个可以随时获取队列中最大(或最小)元素的数据结构。Python 的标准库 heapq 提供了一个实现最小堆的优先队列,默认情况下是最小堆,但可以通过一些技巧来实现最大堆。优先队列在算法中常用于求解最短路径、合并有序链表、求解 k 个最
python中的序列结构《增删改查》的复杂度
摘要:在 Python 中,不同的序列数据结构(如 list、tuple、set、dict 等)对增、删、改、查操作的时间复杂度不同。下面是对常见数据结构的总结,按操作类型(增、删、改、查)分析它们的时间复杂度: 1. list(列表) 查找操作(如 in 或 index()): 时间复杂度:O(n) 原
python中的dict()
摘要:在 Python 中,dict() 是创建字典的内置函数,字典是一种键值对(key-value pair)的数据结构。由于字典具有高效的键值查找、插入和删除操作,在 LeetCode 刷题中非常常用,尤其是处理映射关系、快速查找、计数、前缀匹配等问题时。 基本特性 键值对存储:字典中的每个元素是一个
python中的set()
摘要:在 Python 中,set() 是用来创建集合的内置函数。集合是一个无序且不重复的元素集合,在 LeetCode 刷题中经常用来处理去重、集合操作(如交集、并集、差集)、快速查找等问题。 基本特性 无序性:集合中的元素没有顺序。 不重复性:集合会自动去除重复元素。 可变性:集合本身可以修改,但其中
Leecode热题100——1.哈希
摘要:1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,
python的collections包
摘要:collections 模块是 Python 标准库的一部分,提供了多种用于处理集合数据结构的工具,其中 defaultdict 是一个非常常用的容器类。它是 字典 的一个子类,可以在访问不存在的键时返回一个默认值,而不是抛出 KeyError 异常。除此之外,collections 模块还提供了许
python中的可不可变,可不可哈希,可不可修改
摘要:在 Python 中,可不可变性、可不可哈希性、以及是否支持修改是理解数据类型行为的关键。以下是对这些特性的详细分析,包括定义、例子和它们之间的联系。 1. 可变性 vs 不可变性 定义 可变性:可变类型的数据可以直接修改,而不会改变其引用(内存地址)。 不可变性:不可变类型的数据在创建后无法直接修
一些用来测试的网站
摘要:是的,有许多专门为测试开发学习者提供的测试网站,用于练习自动化测试、手动测试、性能测试等。以下是一些推荐的网站,适合不同类型的测试: 手动测试与自动化测试 The Internet 提供丰富的测试场景,如登录表单、文件上传、拖放等。 非常适合练习 Selenium、Cypress 等自动化工具。 P
Fiddler的使用
摘要:接口基础知识 根据fiddler捕获接口,分析并编写对应接口测试 测试慕课网账号更换头像的接口 1.先对接口进行抓取 打开fiddler everywhere 来到慕课网个人页面 更换头像 更换头像后 Fiddler抓取到的页面,找到其中的发送请求 根据body值,判断出发送头像的接口 这里乱码,猜
unittest测试框架
摘要:1.什么是unittest unittest 是 Python 标准库中的一个单元测试框架,采用类似于 JUnit 的风格。它提供了创建和运行测试用例、组织测试用例为测试套件、进行测试结果报告等功能。unittest 支持自动化测试、测试用例的组织、断言检查、测试结果的收集等,广泛应用于 Pytho
YAML标记语言
摘要:YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。 YAML 的配置文件后缀为 .yml,如:runoob.y
英语六级--作文
摘要:写作和翻译 30% 213 及格线 128 第一段 第一步 第二步 第三步 第四步 第五步 第六步 第七步 第八步 应用1 先由大范围到小范围,先讲“高等教育”,再引到大学教育中, 应用2 应用3 先抄写下来第一句,然后用模板,同义替换第一句 应用4 抓住关键,这里是后面的两个形容词 应用5 第二段
英语六级--作文语法
摘要:写作和翻译 30% 213 及格线 128 第一段 第一步 第二步 第三步 第四步 第五步 第六步 第七步 第八步 应用1 先由大范围到小范围,先讲“高等教育”,再引到大学教育中, 应用2 应用3 先抄写下来第一句,然后用模板,同义替换第一句 应用4 抓住关键,这里是后面的两个形容词 应用5 第二段
Java中的类变量
摘要:在Java中,类变量是指使用 static 修饰的变量。它是属于类本身的,而不是某个对象的,因此所有类的实例共享同一个类变量。 类变量的特点 属于类本身 类变量在内存中只存在一份,所有该类的实例共享同一个变量。 声明方式 使用 static 关键字声明。 生命周期 类变量在类加载时被初始化,直到类卸
conda常见命令
摘要:以下是一些常见的 conda 命令及其用途,它们可以帮助你管理Conda环境和包: 环境管理 创建新环境: conda create --name env_name python=3.8 创建一个名为 env_name 的环境,并指定Python版本(如3.8)。 激活环境: conda activ
python中的迭代器
摘要:在 Python 中,迭代器是一种对象,它实现了迭代协议,即包含方法 __iter__() 和 __next__()。迭代器允许你遍历一个容器(如列表、元组等)中的所有元素,而无需显式地使用索引。理解迭代器的概念和使用可以帮助你编写更高效、可读性更强的代码。 迭代器的基本概念 迭代器对象:实现了 _
python中的接口(通过相关的模块实现)
摘要:在 Python 中,接口通常通过抽象基类(Abstract Base Classes,简称 ABCs)来实现。抽象基类提供了一个机制,用于定义一组方法和属性,这些方法和属性必须在子类中实现。Python 提供了 abc 模块来定义抽象基类。 抽象基类 (ABCs) 定义抽象基类 要定义一个抽象基类
python中的命名空间,什么情况会造成命名空间污染?
摘要:在 Python 中,命名空间(namespace)是一种从名字到对象的映射。命名空间用于管理变量的作用域,防止命名冲突。理解命名空间以及如何避免命名空间污染对于编写干净且维护性高的代码至关重要。 命名空间的类型 内置命名空间: 包含 Python 解释器启动时自动加载的内置函数和异常。例如,pri