![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
拉布拉多oop
这个作者很懒,什么都没留下…
展开
-
算法:求排列组合
package Algorithm.PailieZuhe; /** * Created by zs on 2019/7/30. * 求排列组合 * A = n * (n-1) * (n-2) ... *(n-m+1) = n! / (n-m)! * C = n(n-1)(n-2)...(n-m+1)/ m(m-1)...*1 = n! / m!(n-m)! * 求法:(1)写一个阶乘函...原创 2019-07-30 10:05:06 · 302 阅读 · 0 评论 -
算法:双指针:判断链表有环,求环的入口
1.判断一个链表是否有环 public boolean isHasCircle(Lnode head){ if(head == null)return false; Lnode p1 = head; Lnode p2 = head; while (p1 != null && p2 != null &&...原创 2019-07-27 19:49:12 · 389 阅读 · 0 评论 -
算法:动态规划0-1背包问题
有一个容量为 N 的背包,要用这个背包装下物品的价值最大,这些物品有两个属性:体积 w 和价值 v。 定义一个二维数组 dp 存储最大价值,其中 dp[i][j] 表示前 i 件物品体积不超过 j 的情况下能达到的最大价值。设第 i 件物品体积为 w,价值为 v,根据第 i 件物品是否添加到背包中,可以分两种情况讨论: 第 i 件物品没添加到背包,总体积不超过 j 的前 i 件物品的最大价值就...转载 2019-08-21 16:48:12 · 263 阅读 · 0 评论 -
算法:二分查找及其变种
二分查找的前提条件是序列是有序的!!时间复杂度log(n). 1.正规二分查找,查找某个target 需要注意的几个地方: (1) l <= h (2)找到直接返回, (3) 当前值 < target ,l = m +1; 当前值 > target , h = m - 1; public int findTarget(int[] nums) { int l=0...转载 2019-08-23 15:07:38 · 179 阅读 · 0 评论 -
算法:最短路径和最小生成树
1.最短路径 有Dijkstra算法和Floyd算法 图 算法 无权图 BFS 有权图 单原 Dijkstra 或者Floyd 有权图 多原 Floyd 或者多次Dijkstra 复杂度: Dijkstra:n^2, 查找min distance的时候开业改用堆排序或者PriorityQueue,复杂度降为nlogn Floyd:n^3,空间复杂度 N的平方,d...原创 2019-08-26 17:28:58 · 406 阅读 · 0 评论