Hot100
1. 哈希
1. 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
遍历数组,将数组中的元素作为键,索引作为值,存入字典中,通过是否存在键等于target-num的元素,如果存在则返回当前索引和target-num的索引。
1 | class Solution: |
2. 字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由相同字母不同排列的词 例如:eat tea
1 | class Solution: |
2. 双指针
1. 移动零
题目:给定一个数组 ,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序
思路:用两个指针,初始都指向第一位,一个指针遍历数组,当遍历到非零元素时,交换两个指针指向的元素,两个指针都向右移动一位
1 | class Solution: |
3.链表
1.相交链表
题目:给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。
图示两个链表在节点 c1 开始相交
思路:假设有一个链表长度为a,另一个链表长度为b,公共尾部为C,令a,b走完自己的在走对面的,若有相交结点则a+(b−c)=b+(a−c),如图a=5,b=6,c=3
数学结论:无论链表是否相交,两个指针一定会相遇!
大白话:两个人都要走完这两条路,只要相交,最后的路都一样长了,肯定会相遇
1 | class Solution: |
⚠️ Warning
这部分最好电脑浏览,大量的 Latex 语法会超出手机屏幕,而且内容体量过大,手机较卡顿
考试信息:07-10 16:20-18:00 | 闭卷 | 05307D
题型:共七道大题 —— 简答题 + 计算题 + 编程题,无选择题,可带计算器。
注意:该部分内容由 AI 根据上面的相关文件以及 [算法分析复习指南.md] 生成和拓展,不对内容的准确度做 100% 保证。
复习摘要
填写折叠里面的文本

