
笔试
文章平均质量分 69
sanqima
这个作者很懒,什么都没留下…
展开
-
C++里的const变量、const函数、const指针、const数组等
在C++语言中,有时候需要使用常量,这里的常量是指广义的常量,包括const变量、const函数、const指针、const数组等等。常量,具有只读属性,即一旦值已经初始化,就只可读取,无法修改,类似于只读光盘一样,值已经写进常量区,只可读取,无法二次写入。原创 2023-11-05 10:18:31 · 522 阅读 · 0 评论 -
Linux里常见的gdb命令
在Linux中有个非常方便的调试工具: gdb,它可以进行单步调试、多线程调试,也可以打印堆栈信息。1、查看堆栈信息backtrace2、查看当前函数调用的栈帧信息info frame3、查看当前函数的值info args4、查看函数符号info functions5、切换到编号为N的上下文中frame N...原创 2022-03-07 22:14:07 · 641 阅读 · 0 评论 -
Fibonacci斐波那契数列 C++或go实现
Fibonacci斐波那契数列,也叫兔子数列,从第3项开始,每一项是前2项之和。斐波那契数列的前几项,依次为:0,1,1,2,3,5,8,21,34,...,下面介绍用C++或go来计算斐波那契数列。原创 2021-09-11 12:55:47 · 1194 阅读 · 0 评论 -
分苹果里的模运算思维
A和B这2个人,轮流拿苹果,每个人每次最少拿1个,最多拿5个,共有100个苹果,如果以最后一次拿到苹果的为冠军,请问有什么方法使A获得冠军? 方法:采用逆向思维+取模运算 假设最后只有5+1 = 6个苹果,这时,让B先拿,A后拿,A才能得冠军; 然而,100%6 = 16…4,现在有100个苹果,多了4个, 则需要A先拿多的4个,然后B拿n(1<=n<=5)个,A接着拿(6-n)个,即每次剩余的苹果个数能被6整除即可, 这样循环往复,最后一轮就是6个苹果,原创 2020-08-20 23:45:14 · 505 阅读 · 0 评论 -
求1!+2!+3!+...+20! go语言实现
n的阶乘可以用一个for循环来求解,前n个数的阶乘相加,也可以用一个for循环来遍历,则求前n个数的阶乘之和,就需要2个for循环。原创 2021-09-11 08:42:26 · 446 阅读 · 1 评论 -
单链表的创建、打印、删除和反转
单链表是一种非常重要的数据结构,它的优点是采用指针方式来增减结点,非常方便(它只用改变指针的指向即可,不需要移动结点);缺点是不能进行随机访问,只能顺着指针的方向进行顺序访问。 下面,介绍单例表的创建、打印和反转。 1、定义单链表struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}}; 2、创建单链表ListNode* createLinkedList原创 2020-08-08 11:00:38 · 367 阅读 · 0 评论 -
测试二分查找、直接选择排序等算法的时间复杂度
一、二分查找 二分查找,又称折半查找,进行二分查找的前提是,该线性表或者树已经排好序,这里以线性表为例,假设线性表已经按关键字有序排列,且为递增有序排列。 二分查找的思路:设线性表R[left, right]是当前的查找区间,首先确定该区间的中点位置mid = (left+right)/2, 然后将待查的K值与R[mid].key进行比较,分原创 2020-07-25 16:05:34 · 1114 阅读 · 0 评论 -
最大回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1: 输入: “babad” 输出: “bab”注意: “aba” 也是一个有效答案。示例 2: 输入: “cbbd” 输出: “b原创 2020-06-20 13:43:11 · 236 阅读 · 0 评论 -
左右括号匹配
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。示例 1:&原创 2020-06-20 10:29:43 · 1715 阅读 · 0 评论 -
判断整数是否为回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1: 输入: 121 输出: true示例 2: 输入: -121 输出: false &n原创 2020-06-20 09:47:05 · 1354 阅读 · 0 评论 -
求每一轮滑动窗口里的最大值
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。进阶: 你能在线性时间复杂度内解决此题吗?示例: 输入: nums = [1,3,-1,-3,5,3,6原创 2020-06-19 17:38:09 · 327 阅读 · 0 评论 -
关于手写代码
在面试的过程中,软件主管为了考察面试者的代码水平,往往让面试者手写一段经典代码,比如字符串拷贝函数strcpy()、冒泡排序、二叉树的三种遍历(先序、中序、后序)等。这就需要面试者在复习的过程中理清算法的原理、画算法流程图或者UML类图、会写伪代码哪怕是中文也行。 下面介绍常见的几种手写...原创 2019-12-05 09:39:50 · 2983 阅读 · 0 评论 -
气球颜色最多
题目 在放气球比赛中,有很多不同颜色的气球,现在要统计哪种颜色的气球最多。输入描述 输入数据包含多组测设案例。每组测设案例由N(0≤N≤1000)N(0 \le N \le 1000)打头,NN表示分发的气球的总数目。接下去的NN行每行包含一种颜色。气球的颜色是一个多达15个小写字母的单词。 一个测设案例的N=0N=0表示输入结束。输出描述 对于每个测设案例,把数目最多的原创 2015-09-21 21:55:27 · 2244 阅读 · 0 评论 -
货币求和
1.题目 给出一列标准格式的货币数字,清计算出它们的总和。 我们定义货币使用下面的格式: (1) 货币以”$”符号打头; (2) 如果货币小于1,则整数部分是一个”0”; (3) 货币都有两位小数; (4) 货币的小数点左边的每三位都用逗号隔开位一组(最左边的一组可能是一位或两位数字)。 2. 输入描述 输入数据包含多个测设案例。每个测设案例的第一行是一个整数N(1≤N≤10000)原创 2015-09-21 21:23:04 · 1985 阅读 · 0 评论 -
大数据的单词统计
假设你只有一台内存2G的笔记本,I5的四核CPU以及4T的硬盘,请设计一个程序,实现对1T英文数据进行词频分析,完成以下两个小题: (1)求所有词的词频,把相应的值存入文件; (2)找出这些词里卖弄出现频次最高的100个词,并用代码实现 名词解释:1T=1024G,为硬盘空间单位,词频,每个单词出现的次数。 解答: (1).将1T的数据使用哈希函数映射到10000个文件当中去,原创 2015-09-22 12:32:33 · 4294 阅读 · 0 评论 -
从单链表中输出指定值的节点
描述 输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。 链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; 详细描述: 本题为考察链表的插入和删除知识。 链表的值不能重复 构造过程(x->y表示x插在y的后面),例如原创 2015-09-20 18:11:58 · 3025 阅读 · 0 评论 -
欧拉函数
题目描述 给定一个数字N, 输出N的欧拉函数值。 输入: 输入包含一个正整数N, 2≤N≤2000 000 000.输出: 输出一个整数,表示N的欧拉函数值。 样例输入: 6 5 样例输出: 2 4解题思路 设一个数A=ax11∙ax22∙⋯∙axnn A= a_1^{x_1} \bullet a_2^{原创 2015-09-20 09:42:42 · 693 阅读 · 0 评论 -
使用CAJViewer截取PDF文件里的文字和图片
在阅读PDF文件或caj文件,常常需要截取或摘录里面的部分文字和图片,这时就可以使用CAJViewer。 1.下载并安装CAJViewer软件 地址:http://cajviewer.cnki.net/ 或者:http://pan.baidu.com/s/1hrkaNWw 2.使用CAJViewer打开.pdf文件,点击CAJViewer工具栏上的文字识别—>用鼠标拖曳一段文原创 2016-03-02 15:25:06 · 8059 阅读 · 0 评论 -
字符串加解密
描述 题目描述 1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a; 当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0; 其他字符不做变化。 3、解密方法为加密的逆过程。接口描述: 实现接口,每个接口实现1个基本操作: void Encrypt (原创 2015-09-19 22:18:50 · 1084 阅读 · 0 评论 -
最大的对称子串
1.输入字符串中对称的子字符串的最大长度。比如输入字符串“roorle”,由于该字符串里最长的对称子字符串是“roor”,因此输出4. (1)用代码实现方法; (2)设计并写出测试用例,测试自己所实现的方法; (3)请给出编程时容易出现的bug现象,原因; (4)有无其他实现方法(说明思路即可),比较这两种实现方法优劣,以及各自容易产生的bug有什么不同? 1)最长对称子串可能是偶数个字符原创 2015-09-22 11:24:29 · 1026 阅读 · 0 评论 -
括号匹配
给定一个字符串,设计一个算法消除中间成对的括号,如果括号不成对,提示异常(error) 如(1,(2,3),(4,(5,6),7))转化为1,2,3,4,5,6,7 如(1,)2,3),(4,(5,6(,7))提示error。 代码如下:#include <stack>#include <iostream>using namespace std;/*判断表达式是否合法*/bool IsVa原创 2015-09-22 12:23:49 · 717 阅读 · 0 评论 -
在指定位置插入字符
下列给定程序中,函数fun的功能是;在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。 例如,若S所指字符串为”baacda”,c中的字符为a,执行后s所指字符串为”baaaacdaa”. 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。void fun(char *s, char c){ int i,原创 2015-09-23 11:04:42 · 3902 阅读 · 0 评论 -
IT研发测试类笔试(第一篇
1) 进程从运行状态进入就绪的原因是? A) 被选中占有处理机 B) 等待某一事件 C) 等待的事件已发生 D) 时间片用完 解:D 进程有三种基本状态:就绪、运行、阻塞。 1.1) 就绪(Ready)状态 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即运行,这时的进程状态称为就绪状态。 1.2) 运行(Running)状态,也叫执行状原创 2015-10-14 19:45:30 · 986 阅读 · 0 评论 -
进程与线程的联系与区别
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。 进程和线程的联系: (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。 (3)处理原创 2015-10-15 00:10:11 · 454 阅读 · 0 评论 -
Ackerman的递归与非递归算法
已知Ackerman函数的定义如下: akm(m,n)=⎧⎩⎨n+1,akm(m−1,1),akm(m−1,akm(m,n−1)),m = 0m≠0,n=0m≠0,n≠0akm(m,n)= \begin{cases}n+1, & \text{m = 0} \\akm(m-1,1),& m \neq 0, \, n = 0 \\akm(m-1,akm(m,n-1)),& m \ne原创 2015-11-06 16:46:15 · 15122 阅读 · 5 评论 -
Spark与MapReduce的区别
Spark中最核心的概念是RDD(弹性分布式数据集),近年来,随着数据量的不断增长,分布式集群并行计算(如MapReduce、Dryad等)被广泛运用于处理日益增长的数据。这些设计优秀的计算模型大都具有容错性好、可扩展性强、负载平衡、编程方法简单等优点,从而使得它们受到众多企业的青睐,被大多数用户用来进行大规模数据的处理。 但是,MapReduce这些并行计算大都是基于非循环的数据流模型,也原创 2016-04-20 14:59:58 · 11010 阅读 · 0 评论 -
智力类笔试题基础
1) 10个不同的球,放入3个不同的桶内,共有()种方法。 A) 1000 B) 720 C) 59049 D) 360 解答:C 每个球都有3种放法,10个球有310 =59049种方法。 2)n从1开始,每个操作可以选择对n加1,或者对n加倍。如果最后结果为2013,最少需要_个操作。 A) 18 B) 24 C) 21 D) 不可能 解答:A 2013的原创 2015-09-06 12:55:05 · 1378 阅读 · 0 评论 -
数学公式对应的markdown代码
平方差公式 a2−b2=(a+b)(a−b) a^2-b^2= (a+b)(a-b) 立方差公式 a3−b3=(a+b)(a2−ab+b2) a^3-b^3 = (a+b)(a^2-ab+b^2) 立方和公式 a3+b3=(a−b)(a2+ab+b2) a^3+b^3 = (a-b)(a^2+ab+b^2)完全平方公式 (a+b)2=a2+2ab+b2(a + b)^2 = a^2原创 2015-09-19 20:02:41 · 9599 阅读 · 1 评论 -
取余与周期函数
如果函数y = f(x)满足f(x+nT) = f(x),则f(x)是周期函数且f(x)的周期是T。周期函数与取余%操作相对应。比如, 由于f(x+3n) = f(x), 则函数f(x) = x%3的周期是3。 题目: 123456789101112…2014除以9的余数是 ( ) A) 1 B) 2 C) 3 D) 4 解原创 2015-09-18 17:35:49 · 1511 阅读 · 0 评论 -
单词反转
1.题目 对于一串单词,直接把它们输出在一行上,要把每个单词反转,但每个单词的位置不改变。 本程序包含多个测试案例! 输入数据的第一行是一个整数N,然后是一个空行,后面跟着N个数据块。每个数据块的格式在程序描述中说明了。数据块中有一个空行。 输出格式由N个输出块组成,每个输出块间有一个空行。 2.输入 现在给你多组测试案例。第一行是一个正整数,表示接下来的测试案例的个原创 2015-09-15 11:57:55 · 1052 阅读 · 2 评论 -
文本反转
1.题目 在多数语言中,文本都是从左写到右。然而,有些语言中,文本是从右写到左。现在,你将来编写一个程序,把一段从左到右书写的文本自动转换为从右到左的文本。 2.输入 输入包含多个测试案例。第一行是一个整数,代表测试案例的数目。每个测试案例由一行组成,至多70个字符。但是,每行末尾的换行符不作为该测试案例的字符。 3.输出 对于每个测试案例,输出它的反转文本。 4.输入案例3原创 2015-09-15 12:21:50 · 1325 阅读 · 0 评论 -
智力类笔试题基础(第一篇
程序员的在线笔试中,除了考查常见的操作系统、数据结构、计算机网络、数据库等知识外,还考查应试者的逻辑思维能力和推理能力,比如,数字找规律、图片找规律、排列组合问题、推理类问题等等。这里介绍,图片变换和数字找规律题型。 1)从所给的四个选项中,选择最合适的一个填入“?”处,使图中的数字呈现一定的规律性。 A) 5 B) 10 C) -2 D) -8 解答:B 这类9个方格,一般是原创 2015-09-06 10:08:38 · 4499 阅读 · 0 评论 -
笔试题基础(第四篇
1)x是一个行列数均为1000二维数组,下面代码效率执行最高的是() A) for(int j=0;j<1000;j++) for(int i=0;i<1000;i++) x[i][j]+=x[j][i]; B) for(int i=0;i<1000;j++) for(int j=0;j<1000;j++) x[i][j]+=x[j][i]; C) for(int i=0;i<1000;j++原创 2015-09-13 12:52:18 · 1702 阅读 · 0 评论 -
网龙2010年笔试题
1、栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事。 栈与堆的区别: 1.管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生内存溢出。 2. 空间大小:堆内存几乎原创 2015-09-08 09:13:50 · 1189 阅读 · 0 评论 -
单链表中结点删除、排序与反转
在单链表中,假定每个结点的类型用LinkListLinkList表示,它应包括存储元素的数据域,这里用datadata表示,其类型用通用类型标识符ElemTypeElemType表示,还包括存储元素位置的指针域,这里用next表示。LinkListLinkList类型的定义如下: typedef int ElemType;typedef struct LNode{ //定义单链表结点类型原创 2015-09-27 22:17:02 · 2908 阅读 · 0 评论 -
笔试题基础(第二篇
1).设计模式中,属于结构型模式的有哪些? A) 状态模式 B) 装饰模式 C) 代理模式 D) 观察者模式 解答:BC 结构型设计模式是从程序的结构上解决模块之间的耦合问题。包括以下七种模式: 1.Adapte适配器模式 2. Bridge 桥接模式 3. Composite 组合模式 4.Decorator装饰模式 5. Facade 外观模式原创 2015-09-05 17:01:20 · 876 阅读 · 0 评论 -
数据结构基础题(第一篇)
1)阅读下列函数说明和C代码,将应填进(n)处的字句写在答题纸的对应栏内。 【说明】设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向先驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0.每当在链表上进行一次L.Locate(x)操纵时,令元素值x的结点的访问频度freq加1,并将该结点前移,链接到现它的访问频原创 2015-09-05 11:44:06 · 1967 阅读 · 0 评论 -
研发类笔试题基础(第一篇
1)一个系统,提供多个http协议的接口,返回的结果Y有json格式和jsonp格式。Json的格式为{“code”:100,”msg”:”aaa”},为了保证该协议变更之后更好的应用到多个接口,为了保证修改协议不影响到原先逻辑的代码,以下哪些设计模式是需要的?协议的变更指的是日后可能返回xml格式,或者是根据需求统一对返回的消息进行过滤。( ) A) Adapter B) factory m原创 2015-09-05 18:43:42 · 1502 阅读 · 0 评论 -
笔试基础(第二篇
JMeter+Badboy:基于JAVA的压力测试工具,Badboy用来进行脚本的录制 功能测试:通过自动录制、检测和回放用户的应用操作。将输出记录同预先给定的记录比较。 Junit:白盒测试工具:针对代码测试 测试管理工具:对测试需求、计划、用例、实施进行管理 测试辅助工具:本身不执行,可以生成测试数据,为测试提供数据准备 负载压力测试:LoadRunner:预测系统行为和性能的工业标准级负载测试工具。模原创 2015-09-05 20:20:17 · 1196 阅读 · 0 评论 -
笔试题基础(第三篇
1)无锁化编程有哪些常见方法? A) 针对计数器,可以使用原子加 B) 只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer) C) RCU(Read-Copy-Update),新旧副本切换机制,对于旧副本可以采用延迟释放的做法 D) CAS(Compare-and-Swap),如无锁栈,无锁队列等待 解答:D2)设集合A={1,2,3},A上的关系R={(原创 2015-09-05 21:28:16 · 1137 阅读 · 0 评论