序列、字符串与双指针
数据结构与算法基础#Python全栈#第五阶段#数据结构与算法基础#序列、字符串与双指针约 513 字 · 1 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
Python list 与链表在存储和访问方式上有什么区别?
追问 下标读取、中间插入与按值查找各需要什么工作?
为什么列表末尾追加与头部插入的成本可能不同?
追问 元素移动和容量扩展如何影响最坏与摊还分析?
如何原地反转一个列表?
追问 双指针交换与创建反向切片的额外空间有什么差别?
如何合并两个升序列表,得到升序结果?
追问 空列表、相同元素和不同长度如何处理?双指针方案的复杂度是多少?
如何从已排序列表中去除重复值?
追问 返回新列表与原地压缩分别怎样约定有效长度,是否要求物理截断?
如何判断字符串是否为回文?
追问 规定按原字符精确比较;若需要忽略大小写与标点,应先明确哪些规则和成本?
在升序整数列表中寻找和为目标值的两个元素,应如何移动双指针?
追问 为什么移动方向可以排除一部分候选?如何避免使用同一位置两次?
如何将列表中的零移动到末尾,同时保持非零元素相对顺序?
追问 原地完成时如何维护写入位置?全零、无零与连续零如何验证?
什么是固定窗口与可变窗口的滑动窗口?
追问 连续 k 项求和与最长无重复子串,窗口调整规则有什么区别?
前缀和如何加速多次区间求和?
追问 规定查询区间为
[left, right),如何设计长度与下标,更新数据后又会怎样?