IT校招——面试/笔试题集锦
denghe1122
不知道你身边有没有这样一种人,明明已经百里挑一,还觉得基数太小;明明已经出类拔萃,还觉得炮灰太少。每天像缺钱一样勤奋,像欠债一样努力。每每遇到这样的人,我都会问一句:为什么?
展开
-
C/C++常见笔试面试题(二)——软件特性、fseek()函数、逗号运算符、左值和右值
1、软件的特性:复杂性(人类需求复杂)、一致性(依附一定的环境)、可变性(可升级可改变)、不可见性(软件是代码的运行,程序员能看到代码,但是看不到代码的运行) 复杂性 人们的复杂需求导致了软件的复杂性。当然导致软件的复杂性因素还有很多。 一致性 1.软件不能独立存在,要依附于一定的环境(如硬件、网络、以及其他软件) 2.软件必须遵循从人为原创 2017-08-03 16:26:58 · 1119 阅读 · 0 评论 -
动态规划 —— 回文串(数)
今天是周日,看着身边的人都去踏青了,而我泡在实验室刷了将近 10 题回文数(串)相关的题目,这脑袋,也不知道被啥踢了。。但愿苦心人,天不负吧。。。回文串的相关题目,变化还是不少的。本博客一点点呈现。题目包括:(1)判断回文串(数)(2)统计回文个数(将两个字符串混合)(3)回文数猜想(4)回文链表(三种方法)(5)字符串的最长回文子串(6)回文子序列个数1、什么是回文串(数)回文串是正读和反读都一...原创 2018-04-01 22:40:11 · 3274 阅读 · 1 评论 -
排序算法(五)、堆排序 —— 合并果子
2004年NOIP全国联赛普及组 题目描述: 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以多多在合并果...原创 2018-03-26 22:34:21 · 687 阅读 · 0 评论 -
动态规划——最长公共子序列 与 最长公共子串
1、最长公共子序列LCS 问题,即最长公共子序列问题。它并不要求所求得的字符在所给定的字符串中是连续的。比如输入的两个字符串是 ABCBDAB 和 BDCABA,那么,BCBA 和 BDAB 都是他们最长的公共子序列。则输出它们的长度 4。假设两个字符串 A = [A0,A1....Am],,B = [B0,B1...Bn] 的最长公共子序列是 C = [C0,C1.....Ck]。下面分三种情况...原创 2018-03-29 22:39:15 · 3472 阅读 · 0 评论 -
不使用加减乘除+-*/,实现加法运算(使用位运算符)
从计算机的角度看数据,都是二进制的。所以,我们可以利用位操作符,位与(&)、位或(|)、位异或(^)。而加法的实现,最主要的就是确定什么时候进位。程序如下:int add(int a, int b){ if (a == 0) return b; if (b == 0) return a; int p1 = a&b;//位与。 p1 = p1 << 1;//这两句只考虑进位原创 2017-09-01 16:20:21 · 2433 阅读 · 0 评论 -
不使用加减乘除+-*/,实现减法运算
上篇文章中,解释了不使用加减乘除+-*/,实现加法运算,那么如何实现减法呢? 方法一、将被减数取反,利用加法运算。先看程序:int add(int a, int b){ if (a == 0) return b; if (b == 0) return a; int p1 = a&b;//位与。 p1 = p1 << 1;//这两句只考虑进位 int p2 = a原创 2017-09-03 11:04:15 · 2487 阅读 · 0 评论 -
将一个16进制的数的二进制位反序
这是昨天晚上某号称中国创新力最强的应用层网络设备供应商的一题笔试编程题。题目看似简单,总的来说吧,会的人不难,不会的人无从下手。题目如下:题目:程序如下:编写函数reverse(),将val(32位无符号整数)的二进制位反序。比如,如果val的二进制表示为1011000011111111,反序后的val的二进制表示为 1111111100001101.原创 2017-09-22 10:32:55 · 4789 阅读 · 0 评论 -
匈牙利算法——最大匹配问题(具体例程)—— 过山车问题、奶牛选择问题产奶、飞行员匹配
1、(杭电2613)—— 过山车问题Problem DescriptionRPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linl原创 2017-08-27 11:41:27 · 1488 阅读 · 0 评论 -
匈牙利算法——最大匹配问题详解
2017年中兴提前批校招,就考了一题匈牙利算法。 匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。 先了解一些概念性的东西吧。 1.二分图 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子原创 2017-08-27 11:25:48 · 41244 阅读 · 10 评论 -
C/C++常见笔试面试题(三)——字符数组做形参、内存申请与释放、宏
以下题目是我在牛客网上看到的。 1、分析代码是否有问题链接:https://www.nowcoder.com/questionTerminal/7beda454b8a444428dfb6b13f9787e96来源:牛客网void GetMemory( char *p ) { p = (char *) malloc( 100 ); } void Test( void原创 2017-08-08 14:45:08 · 1324 阅读 · 0 评论 -
string 中关于 npos 的使用方法详解
一、关于npos的定义 在MSDN中有如下说明: basic_string::npos static const size_type npos = -1;//定义 以上的意思是npos是一个常数,表示size_t的最大值(Maximum value for size_t)。许多容器都提供这个东西,用来表示不存在的位置,类型一般是std原创 2017-08-24 15:26:10 · 6692 阅读 · 0 评论 -
牛客网三道编程题(三 之华为机试在线训练(二)字符串反转、统计不同字符个数、删除字符串中出现最少的字符
1、字符串反转 这道题目非常简单,但是有一个地方需要强调一下:对于string 类型,它的size()返回值并不是 int 类型,而是string::size_type 类型,它是一个无符号类型的值。因此不能使它出现负值,不然可能会出现未知错误。切记:在C++ Primer 书中强调了,如果在表达式中出现了带符号数和无符号数混合使用,会产生意想不到的后果。比如,假设 n 是一个带原创 2017-08-20 10:30:05 · 1987 阅读 · 0 评论 -
C++常见面试题(一)——关于字符、字符数组、assert()
今天在牛客网上看招聘,选择“研发工程师(C/C++方向)”,列出了基础知识体系及结构,包含C/C++、网络基础、操作系统、linux、数据库、数据结构。我的天呐,包含的内容体系这么多,这可不是两三个月突击就可以搞定的! 好,今天先看几道题目吧。 1、分析下面代码有问题void test1(){ char string[10]; char* str1 = "01原创 2017-08-03 11:14:39 · 1010 阅读 · 0 评论 -
贪心算法(一)背包问题
1、贪心算法、分治法、动态规划之间的区别与联系分治法:将原问题划分成 n 个规模较小的,并且结构与原问题相似的子问题;递归地解决子问题;然后合并其结果。比如快速排序、归并排序等。分治法能解决的问题,一般具有以下特征:(1)问题的规模缩小到一定程度就可以解决;(2)该问题可以分解为若干规模较小的相同问题;(3)子问题的解可以合并为该问题的解;(4)子问题是相互独立的。第(1)个特征绝大多数问题都能满...原创 2018-04-06 22:04:28 · 4494 阅读 · 0 评论