
数据结构
menglucky40
这个作者很懒,什么都没留下…
展开
-
Flood Fill 图像分割经典算法--《泛洪算法》
题目要求: 一张image通过一个2-D整数数组来表示,每一个整数代表图片的像素值(从0到65535)。给定一个坐标(sr, sc)代表洪水填充的起始像素(行和列),以及一个像素颜色newColor,“洪水填充”整张图片。为了实现一个“洪水填充”,考虑起始像素点,以及与起始像素相同颜色的起始像素4向连接的任何像素,以及与这些像素4向相连的任何像素(同样和起始像素相同颜色),以此类推。把所以之前提到的像素点替换成新的颜色。最终,返回修改后的图片。 附: image和image[0]的长度会在[1...原创 2020-06-02 09:28:37 · 853 阅读 · 0 评论 -
Multi-keyword Sort 多关键字排序
问题描述: 给定n个学生的学号(从1到n编号)以及他们的考试成绩,表示为(学号,考试成绩),请将这些学生按考试成绩降序排序,若考试成绩相同,则按学号升序排序。 样例1: 输入: array = [[2,50],[1,50],[3,100]] 输出: [[3,100],[1,50],[2,50]] 样例2: 输入:[[7,66],[4,77],[3,63],[5,81],[1,...原创 2019-12-17 15:49:38 · 360 阅读 · 0 评论 -
Merge Two Sorted Interval Lists 合并两个排序的间隔列表
题目要求: 合并两个已排序的区间列表,并将其作为一个新的有序区间列表返回。新的区间列表应该通过拼接两个列表的区间并按升序排序。而同一个列表中的区间一定不会重叠。不同列表中的区间可能会重叠。 样例1 输入: [(1,2),(3,4)] and list2 = [(2,3),(5,6)] 输出: [(1,4),(5,6)] 解释: (1,2),(2,3),(3,4) --> (1,4) ...原创 2019-12-12 11:09:07 · 236 阅读 · 0 评论 -
实现字典树Trie Tree
/* 朴素字典树,参考多叉树、二叉树的一些操作 * 参考 https://segmentfault.com/a/1190000002451356 * 参考 http://blog.youkuaiyun.com/rongdongzhu1/article/details/48416371 * 用链表实现,功能包括创建字典树、填充新的词语、查找存好的字典中是否含有特定词语 * 待完善:1)删改功能没弄; * 2原创 2018-01-17 20:03:42 · 224 阅读 · 0 评论 -
用数组实现队列功能
利用数组Q[1..n]来实现一个最多容纳n-1个元素的队列问题描述代码实现问题请高手指点。 《算法导论》第10.1节 问题描述 用一维数组,实现指定大小的队列。Qhead指向队头元素,Qtail表示队列中下一个新元素要插入的位置。 代码实现 C++源代码如下: // An highlighted block #include <iostream> using namespace std...原创 2018-11-07 14:38:28 · 514 阅读 · 0 评论 -
Binary Tree Paths二叉树路径
问题描述: Given a binary tree, return all root-to-leaf paths.给定一个二叉树,返回所有从根节点到叶子节点的路径。 思路: 深度优先遍历中的前序遍历(给定子树,先访问根节点,再访问左节点,最后访问右节点),非递归的实现方式通过堆栈辅助。由于题目要求返回所有“根节点到叶子节点的路径”,因此使用两个堆栈,一个存放节点,另一个存放节点的路径(str...原创 2019-10-08 11:07:19 · 125 阅读 · 0 评论