文件名称:leetcode部分排序类-algorithm:自学习算法
文件大小:11.65MB
文件格式:ZIP
更新时间:2024-07-20 09:48:59
系统开源
leetcode 部分排序类算法学习 在这里 目录 普林斯顿算法课程 自学课程 这里有一些每周作业的提示,也许我将来会写一些关于每周面试问题的想法。 第一部分 第 1 周 作业:渗透 我的分数是89 使用两个二维布尔数组表示打开状态,并使用其他一维数组存储节点的id。 然后按照从讲座中学到的想法来证明节点是否连接。 当顶行和底行相互连接时,我们说网格是渗透的。 使用两个虚拟点来简化问题:开始/顶部和结束/底部点。 将所有第 1 行链接到起点,将第 n 行链接到终点。 如果两个虚拟点在一组中,则网格被渗透。 第 2 周 作业:双端队列和随机队列 我的分数是88 很简单,既可以用数组实现也可以用双向链表实现最好将数组用于 RandomizedQueue。 如果使用双向链表,注意空指针异常 第 3 周 作业:共线点 我的分数是81 重复项目不重要 尝试快速方法时要小心,因为排序会永远改变数组 比较起点和终点后存储线段,这将有助于减少重复项并避免部分线段 第 4 周 作业:8 拼图 我的分数是88 主要方法是使用MinPQ,每次处理优先级最低的节点。 根据介绍,需要创建一个内部类来表示优先级队