上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页

2018年5月17日

最小路径和

摘要: 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 解决思路: a c b 对于网格中的点a,到达右下角要么经过b要么c,若已知b、c最短路径和分别为sum(b)、sum(c),则a点的最短路径和为s 阅读全文

posted @ 2018-05-17 19:14 Deltadeblog 阅读(163) 评论(0) 推荐(0) 编辑

2018年5月16日

使用广度优先搜素查找路径

摘要: 使用深度优先搜索可以找到一个顶点到其他顶点的路径,但该路径不一定是最短路径。 广度优先搜索可以找到点与点之间的最短路径。 实现方法 先将起点加入队列,让后重复一下步骤直到队列为空: 取队列中的下一个顶点v并标记它; 将与v相邻的所有未被标记的顶点加入队列。 示例: 首先顶点0加入队列中,然后开始循环 阅读全文

posted @ 2018-05-16 21:02 Deltadeblog 阅读(221) 评论(0) 推荐(0) 编辑

不同路径 II

摘要: 一个机器人位于一个 m x n 网格的左上角 (起始点标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 示例 1: 解决思路: 相比于上节内容,本题网格中存在障碍物,故需要额外考虑两点。 阅读全文

posted @ 2018-05-16 19:26 Deltadeblog 阅读(147) 评论(0) 推荐(0) 编辑

2018年5月15日

使用深度优先搜索查找路径

摘要: 给定图G及起点s,查找从s到其他顶点的路径。 设计一个类实现该算法,类的API如下: 基于深度优先搜索实现路径查找,该算法扩展深度优先搜索,在原算法的基础上添加一个实例变量edgeTo[],这个数组用于记录每个与s连通的顶点回到s的路径。 如下图: edgeTo[]的值为: 节点1与2(数组下标表示 阅读全文

posted @ 2018-05-15 20:37 Deltadeblog 阅读(2393) 评论(0) 推荐(0) 编辑

不同路径

摘要: 一个机器人位于一个 m x n 网格的左上角 (起始点标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(标为“end”)。 问总共有多少条不同的路径? 示例: 解决思路: 考虑网格中每一格到达右下角有多少路径,显然最后一行及最后一列到达右下角只有一条路径。 阅读全文

posted @ 2018-05-15 20:00 Deltadeblog 阅读(151) 评论(0) 推荐(0) 编辑

2018年5月14日

深度优先搜索

摘要: 深度优先搜索用于寻找图(G)中与顶点s连通的其它顶点。 设计一个类实现该算法,类的API如下: 算法实现 用递归的方法来遍历所有的顶点,在访问一个顶点时: 将它标记为已访问; 递归的访问它的没有被标记的邻接点。 实现代码如下: 测试下图,与顶点0连通的顶点 输出结果:0 1 2 3 4 5 6 阅读全文

posted @ 2018-05-14 20:24 Deltadeblog 阅读(129) 评论(0) 推荐(0) 编辑

旋转链表

摘要: 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 示例 2: 解决思路: 计算链表的长度N,指向链表最后一个节点的指针end; 实际只需移动k%N个位置; end.next=head,构成环形链表,同时移动head与end,移动N-k个位置即可。 阅读全文

posted @ 2018-05-14 19:33 Deltadeblog 阅读(141) 评论(0) 推荐(0) 编辑

2018年5月13日

java 迭代

摘要: 迭代器的作用是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节。 java中的很多容器都实现了Iterable接口,容器中的元素都是可以遍历的。 如下例,list容器中存储的是Integer对象,list可以返回一个Iterator对象用于遍历list中的元素。 一种更 阅读全文

posted @ 2018-05-13 17:24 Deltadeblog 阅读(201) 评论(0) 推荐(0) 编辑

表示图的数据类型

摘要: 有多种数据结构可以表示图(如邻接矩阵、邻接表数组),这里探讨的是使用邻接表数组表示图。 邻接表数组:使用一个以顶点为索引的列表数组,每个数组元素为一个Bag对象,对象中存储的是所有与该顶点相邻的顶点。(Bag类似于栈Stack,只能向其中添加元素)。 如下图及其邻接表数组: 由于Graph的实现需要 阅读全文

posted @ 2018-05-13 16:43 Deltadeblog 阅读(617) 评论(0) 推荐(0) 编辑

2018年5月12日

螺旋矩阵 II

摘要: 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 示例: 解决思路:首先填写矩阵最外一圈,接着依次向内。 对于n行n列的矩阵,每填一圈余下的矩阵为(n-2)行(n-2)列,这个特点可以作为循环的终止条件。 代码如下: 阅读全文

posted @ 2018-05-12 20:37 Deltadeblog 阅读(146) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页

导航