自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chengonghao的博客

Practice Makes Perfect

  • 博客(512)
  • 资源 (5)
  • 收藏
  • 关注

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

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

2016-09-06 11:42:26 1050

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

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

2016-09-04 18:12:00 1490

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

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

2016-09-02 15:45:52 1543

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

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

2016-09-02 15:14:39 1109

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

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

2016-08-29 17:27:58 2084

转载 二叉树的非递归遍历

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

2016-08-29 14:45:08 612

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

[编程题] Fibonacci数列Fibonacci数列是这样定义的:F[0] = 0F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, ...,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibona

2016-08-28 21:53:59 1207

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

[编程题] 两种排序方法考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:"car" 2.根据字符串的长度排序。例如:"car" 考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以需要你来帮忙验证。 输入描述:输入第一行为字符串个数n(n ≤ 100)接

2016-08-28 21:11:27 4071

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

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

2016-08-28 20:37:03 899

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

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

2016-08-28 19:59:14 1215

原创 Dijkstra 算法的 C/C++ 实现

Dijkstra算法 Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,是广度优先算法的一种,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。其基本原理是:每次新扩展一个距离最短的点,更新与其相邻的点的距离。当所有边权都为正时,由于不会存在一个距离更短的没扩展过的点,所以这个点的距离永远不会再被改变,因而保证了算法的正确性。不过根据这个

2016-08-28 18:47:59 14067 1

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

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

2016-08-26 21:24:16 1197

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

[编程题] 星际穿越航天飞行器是一项复杂而又精密的仪器,飞行器的损耗主要集中在发射和降落的过程,科学家根据实验数据估计,如果在发射过程中,产生了 x 程度的损耗,那么在降落的过程中就会产生 x2 程度的损耗,如果飞船的总损耗超过了它的耐久度,飞行器就会爆炸坠毁。问一艘耐久度为 h 的飞行器,假设在飞行过程中不产生损耗,那么为了保证其可以安全的到达目的地,只考虑整数解,至多发射过程中可以

2016-08-26 20:57:45 1451

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

[编程题] 藏宝图牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a, b, c, ab, ac, bc, abc} 8 种。 输入描述:每个输入包含一个测试用例。

2016-08-26 20:49:12 1794

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

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

2016-08-26 16:41:53 1227

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

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

2016-08-26 16:34:01 709

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

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

2016-08-24 21:08:55 842

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

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

2016-08-24 16:49:08 809

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

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

2016-08-24 15:38:06 726

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

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

2016-08-23 21:49:11 706

原创 二维数组打印----美团2016研发工程师编程题(二)

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

2016-08-23 20:08:19 940

原创 血型遗传检测(pair原来没有先后顺序)----去哪儿2016研发工程师编程题

[编程题] 5-血型遗传检测血型遗传对照表如下:父母血型子女会出现的血型子女不会出现的血型O与OOA,B,ABA与OA,OB,ABA与AA,OB,ABA与BA,B,AB,O——A与ABA,

2016-08-22 21:13:34 1764

原创 马戏团(动态规划)---搜狐2016研发工程师编程题

[编程题] 马戏团搜狐员工小王最近利用假期在外地旅游,在某个小镇碰到一个马戏团表演,精彩的表演结束后发现团长正和大伙在帐篷前激烈讨论,小王打听了下了解到, 马戏团正打算出一个新节目“最高罗汉塔”,即马戏团员叠罗汉表演。考虑到安全因素,要求叠罗汉过程中,站在某个人肩上的人应该既比自己矮又比自己瘦,或相等。 团长想要本次节目中的罗汉塔叠的最高,由于人数众多,正在头疼如何安排人员的问题。小王

2016-08-22 17:06:44 1304

原创 strcpy 的实现

// 字符串拷贝.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #define CONTAIN_OF_ZERO_BYTE(n) \ (((n - 0x01010101) & (~n)) & 0x80808080)#define TEST(n) (((n - 1) & (~n)) & 0x80)#if 0n = 0 -

2016-08-21 14:53:00 346

原创 01排序--百度2015春季实习生招聘附加题

[编程题] 01排序给定一个01串(仅由‘ 0’或‘1’组成的字符串),现在想把这个数字串排序成“非递减”有序序列,请问至少需要多少次交换(任意两个位置交换)? 输入描述:输入数据第一行是一个正整数T(T<=100),表示有T组测试数据;接下来的T行,每行给出01串。数据保证——50%的字符串长度在[1,100 ]95%的字符串长度在[1,10000]100%的字符串

2016-08-19 10:33:47 373

原创 字符集合-- 华为2016研发工程师编程题

[编程题] 字符集合输入一个字符串,求出该字符串包含的字符集合输入描述:每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。输出描述:每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。输入例子:abcqweracb输出例子:abcqwer#

2016-08-17 16:41:42 1567

原创 比较重量----网易2016实习研发工程师编程题

[编程题] 比较重量小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量。这些钻石的重量各不相同。在他们们比较了一段时间后,它们看中了两颗钻石g1和g2。现在请你根据之前比较的信息判断这两颗钻石的哪颗更重。给定两颗钻石的编号g1,g2,编号从1开始,同时给定关系数组vector,其中元素为一些二元组,第一个元素为一次比较中较重的钻石的编号,第二个元素为较轻的钻石

2016-08-15 21:13:55 539

原创 图的深度优先搜索----算法导论

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

2016-08-15 10:17:59 495

原创 图的广度优先搜索----算法导论

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

2016-08-15 09:41:06 531

原创 汽水瓶----华为研发编程题

[编程题] 汽水瓶有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换

2016-08-14 15:07:37 577

原创 炮台攻击----网易2016研发工程师编程题

[编程题] 炮台攻击兰博教训提莫之后,然后和提莫讨论起约德尔人,谈起约德尔人,自然少不了一个人,那 就是黑默丁格------约德尔人历史上最伟大的科学家. 提莫说,黑默丁格最近在思考一个问题:黑默丁格有三个炮台,炮台能攻击到距离它R的敌人 (两点之间的距离为两点连续的距离,例如(3,0),(0,4)之间的距离是5),如果一个炮台能攻击 到敌人,那么就会对敌人造成1×的伤害.黑默丁格将三

2016-08-11 21:55:16 407

原创 矩阵元素相乘----搜狗2016研发工程师编程题

[编程题] 矩阵元素相乘A[n,m]是一个n行m列的矩阵,a[i,j]表示A的第i行j列的元素,定义x[i,j]为A的第i行和第j列除了a[i,j]之外所有元素(共n+m-2个)的乘积,即x[i,j]=a[i,1]*a[i,2]*...*a[i,j-1]*...*a[i,m]*a[1,j]*a[2,j]...*a[i-1,j]*a[i+1,j]...*a[n,j],现输入非负整形的矩阵

2016-08-11 18:48:22 846

原创 字符串交错组成(动态规划)

[编程题] 字符串交错组成对于三个字符串A,B,C。我们称C由A和B交错组成当且仅当C包含且仅包含A,B中所有字符,且对应的顺序不改变。请编写一个高效算法,判断C串是否由A和B交错组成。给定三个字符串A,B和C,及他们的长度。请返回一个bool值,代表C是否由A和B交错组成。保证三个串的长度均小于等于100。测试样例:"ABC",3,"12C",3,"A12BCC"

2016-08-10 21:46:29 1713

原创 最小编辑代价(动态规划)

[编程题] 最小编辑代价对于两个字符串A和B,我们需要进行插入、删除和修改操作将A串变为B串,定义c0,c1,c2分别为三种操作的代价,请设计一个高效算法,求出将A串变为B串所需要的最少代价。给定两个字符串A和B,及它们的长度和三种操作代价,请返回将A串变为B串所需要的最小代价。保证两串长度均小于等于300,且三种代价值均小于等于100。测试样例:"abc",3,"

2016-08-10 21:45:58 1381

原创 最长公共子串(动态规划)

[编程题] 最长公共子串对于两个字符串,请设计一个时间复杂度为O(m*n)的算法(这里的m和n为两串的长度),求出两串的最长公共子串的长度。这里的最长公共子串的定义为两个序列U1,U2,..Un和V1,V2,...Vn,其中Ui + 1 == Ui+1,Vi + 1 == Vi+1,同时Ui == Vi。给定两个字符串A和B,同时给定两串的长度n和m。测试样例:"1

2016-08-10 20:43:52 1026

原创 最长公共子序列(动态规划)

[编程题] 最长公共子序列对于两个字符串,请设计一个高效算法,求他们的最长公共子序列的长度,这里的最长公共子序列定义为有两个序列U1,U2,U3...Un和V1,V2,V3...Vn,其中Ui&ltUi+1,Vi&ltVi+1。且A[Ui] == B[Vi]。给定两个字符串A和B,同时给定两个串的长度n和m,请返回最长公共子序列的长度。保证两串长度均小于等于300。测试

2016-08-10 20:37:29 502

原创 最长递增子序列(动态规划)

[编程题] 最长递增子序列对于一个数字序列,请设计一个复杂度为O(nlogn)的算法,返回该序列的最长上升子序列的长度,这里的子序列定义为这样一个序列U1,U2...,其中Ui 给定一个数字序列A及序列的长度n,请返回最长上升子序列的长度。测试样例:[2,1,4,3,1,5,6],7返回:4// 最长递增子序列.cpp : 定义控制台应用程序

2016-08-10 20:28:40 938

转载 HTTP的长连接和短连接

本文转载自:点击打开链接HTTP的长连接和短连接    本文总结&分享网络编程中涉及的长连接、短连接概念。    关键字:Keep-Alive,并发连接数限制,TCP,HTTP一、什么是长连接     HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(

2016-08-10 10:23:27 464

转载 AVL树,红黑树,B树,B+树,Trie树应用场景简介

转载自:点击打开链接AVL树,红黑树,B树,B+树,Trie树应用场景简介 1.AVL树:平衡二叉树,一般是用平衡因子差值决定并通过旋转来实现,左右子树树高差不超过1,那么和红黑树比较它是严格的平衡二叉树,平衡条件非常严格(树高差只有1),只要插入或删除不满足上面的条件就要通过旋转来保持平衡。由于旋转是非常耗费时间的。我们可以推出AVL树适合用于插入删除次数比较少,但查找多

2016-08-10 10:21:38 1190

原创 木棒拼图(multiset 的应用)----今日头条2017后端工程师实习生笔试题

[编程题] 木棒拼图有一个由很多木棒构成的集合,每个木棒有对应的长度,请问能否用集合中的这些木棒以某个顺序首尾相连构成一个面积大于 0 的简单多边形且所有木棒都要用上,简单多边形即不会自交的多边形。初始集合是空的,有两种操作,要么给集合添加一个长度为 L 的木棒,要么删去集合中已经有的某个木棒。每次操作结束后你都需要告知是否能用集合中的这些木棒构成一个简单多边形。输

2016-08-09 20:33:16 957

Dijsktra 算法的 C/C++ 代码实现

Dijsktra 算法的 C/C++ 代码实现

2016-08-28

STL简单迭代器的实现

介绍博客:http://blog.csdn.net/chengonghao/article/details/51360792

2016-05-10

C# MVC4 easyui datagrid expand row

整理了一个基于 C# MVC4 jQuery-easyui 的datagrid的expand row的demo

2015-05-02

c#的Oracle数据库访问类

很不错的底层访问类,每段函数的注释清楚,使用起来很方便!

2015-03-24

聚类分析--C-平均算法

最近模式识别课程要求编写一个聚类分析的C平均算法,我简单的编写了一个程序。窗体用VS2010写的,语言是C++,其中有断言错误,但是功能基本实现。有空再改吧!

2014-11-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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