- 博客(18)
- 资源 (5)
- 收藏
- 关注
原创 每日一题(95) - 两个有序数组元素之积、和的最小K个值
题目来自阿里面试题目题目(1)已知A B两个数组,元素有序,构造新的集合S={x*y | x属于A, y属于B} 求S中最小的k个元素,最优解法。(2)已知A B两个数组,元素有序,构造新的集合S={x+y | x属于A, y属于B} 求S中最小的k个元素,最优解法。思路:这两个题本质上属于同一个题目,可以使用同一个思路做。思路(1) 暴力解决,此时时间复杂度为O(n^2)
2013-09-30 10:56:22 2470 2
原创 每日一题(94) - 堆排序
题目:基于数组的堆排序思路:主要分为两步(1)对无序数组调整成大根堆(从小到大的排序) 对非叶子结点进行调整 从最后一个非叶子结点开始,一直到根结束 每次调整,都调整一条路径,从待调整元素的位置开始,一直到叶子结点为止。(2)把堆顶与待排序的最后一个元素交换,之后调整堆代码:void Swap(int& nFirst,int& nSec){ int nTm
2013-09-20 20:17:05 1341
转载 如何预测用户query意图
转载于博客园的文章:如何预测用户query意图有一个朋友问,一个用户搜索一个query是“百度”,怎么知道用户真正是想找什么呢。我回答说,分析之前搜索这个query的用户点了些什么结果啊。朋友继续问,如果没有用户点击呢。呃,如果没有点击,这个问题就比较复杂了。整理了下思路,于是写成了本文。主要描述了关于如何预测用户query意图。希望会有所帮助。首先我们
2013-09-18 18:29:14 1955
原创 每日一题(93) - 字符串截断
题目:编写字符串截断函数char ** StrToK(const char* S1, const char* S2)。功能:字符串S2对字符串S1进行截断,并分别输出截断的字符串举例:S1=abcdefg, S2=be,最后返回一个字符串数组,将a,cd,fg三个字符串用指向指针的指针返回。思路:遇到相等字符或者字符串结束符,则表示每一行字符串结束陷阱:(1)函数返回指向指针的
2013-09-18 16:16:41 1535 2
原创 素数的求解
素数的定义定义:在一个大于0的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。问题 1、判断一个数是否为素数问题 2、判断[1,n]之间的素数------------------------问题 1、判断一个数是否为素数思路(1) 试除法基本思路:判断n是否为素数时,检查区间[2,n - 1]之间的数是否能整除n。代码:bool IsPrime(i
2013-09-17 08:25:09 2967 4
转载 TCP为什么要三次握手,不是两次四次
TCP为什么要三次握手,不是两次四次?第三次握手——革命斗争中的通信故事在革命战争影片中,经常会看到英勇的解放军战士背着步话机在喊“长江长江,我是黄河,听到请回答。”很明显,这是呼号为黄河的一方想找呼号为长江的另一方说事,为了保证影片的节奏,导演往往把后面的联络过程省略了,其实后面还有两步,长江听到黄河的呼叫后要回答“黄河黄河,我是长江,我听到了你,请回
2013-09-13 17:21:13 1585 2
转载 TCP连接的建立 (三次握手) 和释放 (四次握手)
TCP报文段首部格式:序号:本报文段所发送的数据的第一个字节的序号。确认号ack:期待收到对方下一个报文段的第一个数据字节的序号确认ACK:占1位,仅当ACK=1时,确认号字段才有效。ACK=0时,确认号无效同步SYN:连接建立时用于同步序号。当SYN=1,ACK=0时表示:这是一个连接请求报文段。 若同意连接,则在响应报文段中使得
2013-09-13 16:27:32 4410
原创 每日一题(92) - 归并排序
题目来自网络题目(1):基于数组的归并排序题目(2):基于链表的归并排序----------题目(1):基于数组的归并排序思路:借助分治的思想,总是先对待排序进行分割,之后再对两个子序列进行合并,生成一个有序序列。时间复杂度为O(nLogn),空间复杂度为O(n)代码:void Merge(int nArr[],int nStart,int nM
2013-09-11 13:03:30 1025
原创 每日一题(92) - 快速排序
题目来自网络题目(1):基于数组的快速排序题目(2):基于链表的快速排序----题目(1):基于数组的快速排序思路:使用分治的思想,先选择枢轴,之后执行一次划分,并把原序列划分两个子序列,之后递归处理。代码:int partition(int nArr[],int nStart,int nEnd){ int nKey = nArr[nSt
2013-09-10 08:16:52 1236
原创 每日一题(91) - 插入排序
题目来自网络题目(1):基于数组的插入排序代码:void InsertSort(int nArr[],int nLen){ int j = 0; for (int i = 2;i <= nLen;i++) { if (nArr[i] < nArr[i - 1]) { nArr[0] = nArr[i]; j = i - 1; while(nArr[0
2013-09-09 20:39:50 41449
原创 每日一题(90) - 磁带文件存放优化
题目和思路均来自编程之美题目:磁带上有n个文件,长度分别为L[0],L[1], ..., L[n-1]且被访问的概率分别为P[0],P[1],...,P[n-1]。要访问磁带上第n个文件,须要依次经过前面n-1个文件。分别给出三种情况,求如何安排文件在磁带上的存储顺序,使得访问这些文件所需经过的平均磁带长度最短? 每一个文件被访问的概率相等,但文件长度不同,求所有文件的存储顺序。
2013-09-07 23:01:10 2716 1
原创 背包问题九讲笔记_多重背包
摘自Tianyi Cui童鞋的《背包问题九讲》,稍作修改,方便理解。本文包含的内容: 问题描述 基本思路(和完全背包类似) 转换为01背包问题求解(直接利用01背包)---------------------------------------------1、问题描述已知:有一个容量为V的背包和N件物品,第i件物品最多有Num[i]件
2013-09-05 21:56:22 11140 3
原创 每日一题(89) - 两个字符串进行加减
题目来自网络题目描述通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。补充说明:1. 操作数为正整数,不需要考虑计算结果溢出的情况。2. 若输入算式格式错误,输出结果为“0”。要求实现函数: void arithmetic(const char
2013-09-05 18:40:46 3644
原创 每日一题(88) - 字符串压缩
题目来自网上题目描述:通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则:1. 仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"
2013-09-04 21:26:41 1462
原创 每日一题(87) - 字符串过滤
题目来自网上题目描述通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。要求实现函数: void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】 pInputStr: 输入字符串,lInputLen:
2013-09-04 21:02:29 1363
原创 背包问题九讲笔记_完全背包
摘自Tianyi Cui童鞋的《背包问题九讲》,稍作修改,方便理解。本文包含的内容:---------------------------------------------完全背包问题描述已知:有一个容量为V的背包和N件物品,第i件物品的重量是weight[i],收益是cost[i]。条件:每种物品都有无限件,能放多少就放多少。问题:在不超
2013-09-04 20:34:49 21585 5
原创 每日一题(86) - 计算两个字符串的最长公共子序列(LCS)
题目来自网上题目:求解两个字符串的最长公共子序列举例:strA = "ABCBDAB"strB = "BDCABA"字符串strA和strB的LCS为4.思路:DP代码#include #include #include using namespace std;/*f[i][j]:表示字符串strA[0~i]和字符串strB[0~j]最长公共子序列的长度
2013-09-03 20:09:50 1370
原创 每日一题(85) - 编写strcpy函数
题目来自网络题目:编写strcpy函数。函数声明:char *strcpy(char* dest, const char *src)功能:把src指向的字符串复制到以dest开始的地址空间说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串思路:直接拷贝吧,但是需要注意几个问题,容易出错。(1)拷贝前需要把目的地址的首地址拷贝出来。犯过
2013-09-03 19:28:08 1033
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人