时间:2021/3/31
估计凉凉,自己先做的算法,以为可以返回,结果不能。然后发现可以copy
就网上找了答案。{捂脸}
选择题30道:
记住的几题有:
- 15*4=112可能是几进制计算而得
设是x进制计算的,进一位就等同于进行一次平方
所以公司为(x + 5 )*4 = x * x+x+2 得x = 6; - 佛洛依德和迪加斯特算法的区别:
总结来说就是
1)
Dijkstra不能处理负权图,Flyod能处理负权图;
2)
Dijkstra处理单源最短路径
Flyod是处理多源最短路径
这个区别有个博主写的特别好,生动又形象,来吧!传送门:最短路径——Dijkstra算法和Floyd算法
3).
Dijkstra时间复杂度为O(n^2)
Flyod时间复杂度为O(n^3) 空间复杂度为O(n ^ 2);
所以题目中如果是单源点正权图,就用Dijkstra
如果是任意两个点之间的最短路径或者是负权图,就用Floyd;
两道算法题:
【问题】
给定一个整数N,求由‘0’字符和‘1’字符组成的长度为N的所有字符串中,满足‘0’字符的左边必有‘1’字符的字符串数量。
【举例】
N = 1。只由‘0’和‘1’组成,长度为1的所有字符串:“0”、“1”。只有字符串“1”满足要求,返回1。
N