![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IT笔试题
文章平均质量分 53
liuxialong
这个作者很懒,什么都没留下…
展开
-
阿里云笔试题:最大子段和问题的动态规划解法
最大子段和问题的动态规划解法,给出一段数字,求出最大字段和?例如:数组a,整数个数为n,b为辅助数组a: 2 3 -7 6 4 -5b: 2 5 -2 6 10 5那么,最大子段和为10 本题采用动态规划的思想,令b[j]为以j结尾的最大子段和,那么有:b[j]=max{b[j-1]+a[j], a[j]}因此,在求b[j]值的时候,只需要看b[j-1]是否大于零,原创 2011-06-16 18:03:00 · 2714 阅读 · 0 评论 -
常见linux命令
1、sort 根据指定的方法,以行为单位进行排序,然后输出。ll | sort -k 5 -n 表示用第五个key进行排序,从1开始计数,-n表示采用数字序,-d表示字典序ll | sort +4 -5 -n 老式写法,从零开始计数,表示第五个开始,到第六个结束原创 2011-09-23 11:19:24 · 757 阅读 · 0 评论 -
如何定义宏,返回数组的大小,并可以检查传入的参数是否为数组
问题描述:通常我们会定义数组,如int a[100];然后再写别的代码,然后在程序不知道的哪个位置,传入了一个a我觉得他可能是个数组,但不确定,而且我还想知道a这个数组的大小。通常我们会这么做sizeof(a)/sizeof(a[0])但是这样做有问题,如果a原创 2011-09-21 16:27:32 · 2749 阅读 · 0 评论 -
内存对齐-笔记
关键是下面4个概念:1.数据类型自身的对齐值:就是基本数据类型的自身对齐值。 (注意:结构体作为成员出现的话,其自身的对齐值参考3)2.指定对齐值:#progma pack (value)时的指定对齐值value。 3.结构体或者类的自身对齐值:其原创 2011-09-05 11:29:54 · 709 阅读 · 0 评论 -
大头小头 字节序
记住,书写方式是大头。****************************************************************************想要查看当前环境是高地址还是低地址可以使用联合体如:union str{int原创 2011-09-05 11:53:28 · 1309 阅读 · 0 评论 -
将一个正整数n表示成一系列的正整数之和,求共有几种划分方法
题目:将一个正整数n表示成一系列的正整数之和:求共有几种划分方法n=n1+n2+n3+.....+nk (n1>=n2>=n3.......>=1, k>=1)被称作正整数的一个划分。正整数n可能存在不同的划分,例如正整数6的全部划分为6=66=5+16=4+2 6=4+1+16=3+3 6=3+2+1 6=3+1+1+16=2+2+2 6=2+2+1+1原创 2011-07-02 14:18:24 · 10984 阅读 · 2 评论 -
2011-6-24 笔试题讨论
本周主题,分享it面试和笔试题,现收录如下:1、给定一个整数数组,求三个数之和的绝对值最小?首先对数组排序,复杂度为nlgn。然后从1……n每次选取一个数,这里是n个复杂度。每次选取一个数后,再从数组的begin、end开始,相向移动。如果三者之和小于零,则begin++,若大于零,则end--,移动到绝对值不能再小为止。更新min值。这里需要遍历一遍数组,复杂度也为n。因此最后的复杂度为原创 2011-06-25 13:19:00 · 1575 阅读 · 0 评论 -
编程之美:判断两链表是否相交
《编程之美》里面有一篇是讲如何判断两链表是否相交,读后觉得原文太过啰嗦。于是,笔者总结了一下,此类问题可以扩展为两大类,分别是:1、单链表与环问题http://blog.csdn.net/liuxialong/archive/2011/06/20/6555850.aspx2、单链表相交与环问题(本文) 给定两单链表A、B,只给出两头指针。请问:1、如何判断两单链表(无环)是原创 2011-06-20 13:49:00 · 14497 阅读 · 3 评论 -
求字符串编辑距离
字符串编辑距离:给定两个字符串s和t,从s转换成t所需要的增加、删除、修改的最小操作数,称为字符串的编辑距离。 求两个字符串的编辑距离可以使用动态规划的思想(DP),动态规划的基本思路是将一个复杂的最优解问题分解成一系列较为简单的最优解问题,再将简单的最优解问题进一步化解,直到一眼就能看出最优解。 令D(s,t)为字符串s到字符串t的编辑距离。那么求D(s,t)的问题可以转换成原创 2011-06-19 13:23:00 · 2702 阅读 · 3 评论 -
笔试题:如何判断单链表是否存在环
给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题1的碰撞点p,slow、fast从该点原创 2011-06-20 11:25:00 · 30350 阅读 · 9 评论 -
阿里云笔试题:正则表达式和有限状态自动机
根据正则表达式画出有限状态自动机。 参考:http://blog.csdn.net/crackcell/archive/2008/04/07/2256758.aspx1、概念字母表中的符号组成的有限长度的序列。记号s的长度记为|s|。长度为0的记号称为空记号,记为ε。非确定有限自动机(Nondeterministic Finite Automaton)NFA确定有限自动机(原创 2011-06-16 18:16:00 · 6681 阅读 · 0 评论 -
阿里云笔试题
题目:在一条东西走向的直线道路上,有12个厂,他们距离西侧端点的距离分别是0,4,5,9,13,18,27,30,31,38,39,47,从中选取3个点作为原料投放点,各厂从离其距离最近的原料投放点获取原料,选择最佳3点,使得距离之和最小。请问这三个点怎么确定?原创 2011-06-16 16:58:00 · 2226 阅读 · 0 评论 -
C实现动态分配三维数组
在新浪微博的笔试上遇到这类题目当时的做法是直接malloc(m*n*k),回来后发现不对。现列出详细代码,引以为戒: int main(){ int i, j, k;//5 6 7三维矩阵 //malloc char ***p=(char ***)malloc(5*sizeof(char **)); for(i=0;i原创 2011-06-14 12:41:00 · 2906 阅读 · 0 评论 -
新浪微博笔试题:删除字符串中多余的空格
给定字符串,删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。比如 “ I like football ” 会变成 "I like football"函数接口为:void RemoveExtraSpace(char* str); 代码如下: void RemoveExtraSpace(char* str){ if(str == NU原创 2011-06-14 13:39:00 · 3268 阅读 · 1 评论 -
随机洗牌算法和随机选择算法
1、随机洗牌算法问题描述:将有序的集合中的元素以随机的顺序重新排列解法:for i:=1 to n do swap(a[i], a[random(1,n)]); // 凑合,但不是真正随机 for i:=1 to n do swap(a[i], a[ra原创 2011-09-29 09:34:32 · 2685 阅读 · 0 评论