aftership笔试记录

本文记录了一次Aftership的笔试经历,涉及选择题和算法题。选择题涵盖数学和算法知识,如进制转换、Dijkstra与Floyd算法的区别。算法题是一道关于构建特定条件的二进制字符串的问题,解题思路涉及斐波那契数列。另一道未详细说明的题目与单调栈有关。
摘要由CSDN通过智能技术生成

时间:2021/3/31
估计凉凉,自己先做的算法,以为可以返回,结果不能。然后发现可以copy
就网上找了答案。{捂脸}
选择题30道:
记住的几题有:

  1. 15*4=112可能是几进制计算而得
    设是x进制计算的,进一位就等同于进行一次平方
    所以公司为(x + 5 )*4 = x * x+x+2 得x = 6;
  2. 佛洛依德和迪加斯特算法的区别:
    总结来说就是
    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

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值