chengonghao的博客

Practice Makes Perfect

最小生成树----算法导论

《算法导论》上已经解释的非常清楚了,于是直接照搬过来吧,本文转载自《算法导论》

2016-09-06 11:42:26

阅读数 550

评论数 0

主对角线打印二维数组---美团点评2016研发工程师编程题(二)

[编程题] 二维数组打印 有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印。 给定一个二位数组arr及题目中的参数n,请返回结果数组。 测试样例: [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4 ...

2016-09-04 18:12:00

阅读数 893

评论数 0

棋子翻转---- 美团2016研发工程师在线编程题

[编程题] 棋子翻转 在4x4的棋盘上摆满了黑白棋子,黑白两色的位置和数目随机其中左上角坐标为(1,1),右下角坐标为(4,4),现在依次有一些翻转操作,要对一些给定支点坐标为中心的上下左右四个棋子的颜色进行翻转,请计算出翻转后的棋盘颜色。 给定两个数组A和f,分别为初始棋盘和...

2016-09-02 15:45:52

阅读数 954

评论数 0

蛇形矩阵----2017腾讯校招模拟题

输出蛇形矩阵 // ConsoleApplication5.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include using namespace::std ; int main() { int n...

2016-09-02 15:14:39

阅读数 770

评论数 0

数字游戏----网易2016研发工程师笔试题(二)

[编程题] 数字游戏 小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+...

2016-08-29 17:27:58

阅读数 1677

评论数 0

二叉树的非递归遍历

二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。...

2016-08-29 14:45:08

阅读数 438

评论数 0

Fibonacci数列----网易2017内推笔试编程题合集(二)

[编程题] Fibonacci数列 Fibonacci数列是这样定义的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] 因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, ......

2016-08-28 21:53:59

阅读数 956

评论数 0

两种排序方法(字典序,strcmp的用法)----网易2017内推笔试编程题合集(二)

[编程题] 两种排序方法 考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如: "car" 2.根据字符串的长度排序。例如: "car" 考拉想知道自己的这些字...

2016-08-28 21:11:27

阅读数 2358

评论数 0

统计回文(string.insert的应用,insert只能插入string,不能插入char)----网易2017内推笔试编程题合集(二)

[编程题] 统计回文 “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请...

2016-08-28 20:37:03

阅读数 651

评论数 0

解救小易----网易2017内推笔试编程题合集(二)

[编程题] 解救小易 有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个...

2016-08-28 19:59:14

阅读数 941

评论数 0

Dijkstra 算法的 C/C++ 实现

Dijkstra算法 Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,是广度优先算法的一种,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。其基本原理是:每次新扩展一个距离最短的点,更新与其相邻的点的距离。当所有边权都为正时,由于不会...

2016-08-28 18:47:59

阅读数 4437

评论数 0

分苹果----网易2017内推笔试编程题合集(一)

[编程题] 分苹果 n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。  输入描述: 每个输入包含一个...

2016-08-26 21:24:16

阅读数 890

评论数 0

星际穿越----网易2017内推笔试编程题合集(一)

[编程题] 星际穿越 航天飞行器是一项复杂而又精密的仪器,飞行器的损耗主要集中在发射和降落的过程,科学家根据实验数据估计,如果在发射过程中,产生了 x 程度的损耗,那么在降落的过程中就会产生 x2 程度的损耗,如果飞船的总损耗超过了它的耐久度,飞行器就会爆炸坠毁。问一艘耐久度为 h 的飞...

2016-08-26 20:57:45

阅读数 1030

评论数 0

藏宝图----网易2017内推笔试编程题合集(一)

[编程题] 藏宝图 牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a,...

2016-08-26 20:49:12

阅读数 1472

评论数 0

下厨房(istringstream的使用)----网易2017内推笔试编程题合集

[编程题] 下厨房 牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。  输入描述: 每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i 件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超...

2016-08-26 16:41:53

阅读数 1036

评论数 0

洗牌----网易有道2017内推编程题还未完成。

[编程题] 洗牌 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一...

2016-08-26 16:34:01

阅读数 565

评论数 0

将路径数组变为统计数组(树的层序遍历,双层队列)----BAT实习内推笔试卷(第一场)

[编程题] 将路径数组变为统计数组 给定一个路径数组paths,表示一张图。 paths[i]==j代表城市i连向城市j,如果paths[i]==i表示i城市是首都,一张图里只会有一个首都,不会有分图且图中除了首都指向自己之外不会有环;  例如:paths={9,1,4,9,0,4,8,9,0...

2016-08-24 21:08:55

阅读数 570

评论数 0

按照左右半区的方式重新组合单链表----BAT实习内推笔试卷(第二场)

[编程题] 按照左右半区的方式重新组合单链表 给定一个单链表的头部节点head,链表长度为N。 如果N为偶数,那么前N/2个节点算作左半区,后N/2个节点算作右半区; 如果N为奇数,那么前N/2个节点算作左半区,后N/2+1个节点算作右半区; 左半区从左到右依次记为L1->L2->...

2016-08-24 16:49:08

阅读数 550

评论数 0

最大的LeftMax与rightMax之差绝对值----BAT实习内推笔试卷(第二场)

[编程题] 最大的LeftMax与rightMax之差绝对值 给定一个长度为N的整型数组arr,可以划分成左右两个部分: 左部分arr[0..K],右部分arr[K+1..arr.length-1],K可以取值的范围是[0,arr.length-2] 求这么多划分方案中,左部分中的最大值...

2016-08-24 15:38:06

阅读数 451

评论数 0

奇数位上都是奇数或者偶数位上都是偶数---BAT实习内推笔试卷(第一场)

[编程题] 奇数位上都是奇数或者偶数位上都是偶数 给定一个长度不小于2的数组arr。 写一个函数调整arr,使arr中要么所有的偶数位上都是偶数,要么所有的奇数位上都是奇数上。 要求:如果数组长度为N,时间复杂度请达到O(N),额外空间复杂度请达到O(1),下标0,2,4,6...算作偶数位...

2016-08-23 21:49:11

阅读数 433

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭