招商银行信用卡中心2020暑期前端实习笔试总结

一、投递信息

投递时间:2020年2月28日
岗位:IT类(开发方向)
工作地点:上海
信息来源:招商银行信用卡中心招聘公众号
回复时间:2020年4月27日
笔试时间:2020年4月29日9:00—11:00
笔试平台:牛客网

二、笔试题

  1. 编程题1:金币 ( 动态规划)
    小招在玩一款游戏:在一个N层高的金字塔上,以金字塔顶为第一层,第i层有i个落点,每个落点有若干枚金币,在落点可以跳向左斜向下或向右斜向下的落点。若知道金字塔的层数N及每层的金币数量分布,请计算小招在本次游戏中可以获得的最多金币数量。
    输入描述:
    输入共有N + 1行(N ≤ 1024),第一行为高度N,第二行至N + 1行 ,为该金字塔的金币数量分布。
    输出描述:
    输出金币数量
    示例1
    输入
    5
    8
    3 8
    8 1 0
    4 7 5 4
    3 5 2 6 5
    输出
    31
  2. 编程题2:交换座位 AC
    在一场集体婚礼上,有n对新人需要坐在连续排列的 2n个座位上合影,同一对新人彼此挨着。由于进场时各对新人并未按序入座,请计算最少交换座位的次数,以便使每对新人均可并肩坐在一起。一次交换可选择任意两人,让他们互换座位。
    全部新人的序号可用 0 到 2n-1 的整数表示,第一对是 (0, 1),第二对是 (2, 3),以此类推,最后一对是 (2n-2, 2n-1)。
    row[i]指最初坐在第 i 个座位上的新人编号,i是从0到(2n-1)的一个升序全排列,row不存在重复值。
    输入描述:
    输入共有2行,第一行为n,即共有多少对新人(2≤n≤100000 ),第二行为row,即2n个座位上的初始新人编号。
    输出描述:
    输出最少交换座位的次数
    示例1
    输入
    2
    0 2 1 3
    输出
    1
    说明
    我们只需要交换1和2的位置即可
    示例2
    输入
    2
    3 2 0 1
    输出
    0
    说明
    无需交换座位,所有的新人都已经并肩坐在一起
  3. 编程题3:修塔游戏
    题目描述
    小招正在玩一款修塔游戏:系统中有n座高塔,每座高塔由若干个高度相同的方块堆砌而成。修塔游戏的规则为:
    (1)每次从最高塔的塔尖拿走一个方块
    (2)每次在最低塔的塔尖堆砌一个方块
    小招每次只能完成上述两个动作中的一个动作。游戏的目标是使n座高塔中至少有k座高塔的高度相同,请问小招最少需要多少次才能完成游戏。
    输入描述:
    输入共有2行,第一行为n和k(1≤k≤n≤200000 ),第二行为n座塔的高度组成的数组 a1, a2, …an(1≤aj≤10000)。
    输出描述:
    输出值为最少需要多少次动作才能完成游戏。
    示例1
    输入
    6 5
    1 2 2 4 2 3
    输出
    3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章