摘要: 【来源】网上流传的2017-360秋招笔试题 【问题描述】 【算法思路】 直接求解会超时。使用“线段树”,节点信息为当前区段的元素个数。假设输入元素最大值为M, 建立有M个叶子节点的树,再依次插入元素并向上更新节点信息。 【程序】 阅读全文
posted @ 2017-08-29 20:18 hedgehog小子 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 【来源】网传的2017滴滴秋招笔试题 【问题描述】小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫。n*m的格子迷宫每个位置为0或者1,1代表可达,0不可达。小青蛙初始在(0,0),地下迷宫的出口在(0,m-1)(保证这两个位置都是1,并且保证一定有起点到终点可达 阅读全文
posted @ 2017-08-29 10:16 hedgehog小子 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 【来源】网传的2018阿里秋招笔试题 【问题描述】 城市有 N 个路口,每个路口有自己编号,从0 ~ N-1, 每个路口有自己的交通控制信号,比如 0,3 表示 0 号路口的交通信号每隔 3 个时刻变化一次,即0,1,2时刻可以过,而3,4,5时刻不能过,而6,7,8时刻又可以过,以次类推,所有路口 阅读全文
posted @ 2017-08-29 10:16 hedgehog小子 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 【输入格式】 输入第一行给出一个正整数N(<=30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出 阅读全文
posted @ 2017-08-29 10:16 hedgehog小子 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】 给定由 n个整数(可能为负整数)组成的序列,以及一个正整数 m,要求确定序列 m个不相交子段,使得这m个子段的总和达到最大,求出最大和。 【算法思想】 动态规划基本思路: 首先,定义数组seq[n]存储n个整数组成的序列, dp(i,j) 表示由前 j项得到的含i个字段的最大值,且最后 阅读全文
posted @ 2017-08-29 10:16 hedgehog小子 阅读(1986) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】 给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。 【输入输出】 输入为两行: 第一行为两个正整数n(1 ≤ n ≤ 1000),sum(1 ≤ sum ≤ 1000) 第二行为n个 阅读全文
posted @ 2017-08-29 10:16 hedgehog小子 阅读(324) 评论(0) 推荐(0) 编辑