Now in Baidu WISE team
全部博文(150)
发布时间:2012-12-26 15:18:32
练手代码,codepad.org已验证。该算法为海量数据的求第k大的数的解法之一。建立大小为k的最小堆,每输入一个数,如果比堆顶大,那么替换堆顶元素,然后维护最小堆的特性。堆顶元素即为第k大的数。 点击(此处)折叠或打开#include <stdio.h>#include <stdlib.h>#include <assert.h>#define LEFT(a) ((a)<<1)+1#define RIGHT(a) ((a)<<1)+2#define SWAP(a,b) a^=b;b^=a;a^=b;int heapcount;int*......【阅读全文】
发布时间:2012-12-25 13:01:18
1.最长递增子串(codepad.org已验证) 2.最长不连续公共子串(codepad.org已验证) 3.字符串的编辑距离(codepad.org已验证) 4.上下两个等长数组,可互换同下标元素,求上下两数组和可能的最小差值(codepad.org已验证) 5.连续子数组的最大和(codepad.org已验证) 代码都为简单实现版,均为递归算法,用作练手和思路记录。 1.最长递增子串 点击(此处)折叠或打开 #define MAX 10000 #include <stdio.h> #include &l......【阅读全文】
发布时间:2012-12-23 12:46:50
1.多人排成一个队列,我们认为从低到高是正确的序列,但是总有部分人不遵守秩序。如果说,前面的人比后面的人高(两人身高一样认为是合适的), 那么我们就认为这两个人是一对“捣乱分子”,比如说,现在存在一个序列:176, 178, 180, 170, 171这些捣乱分子对为<176, 170>, <176, 171>, <178, 170>, <178, 171>, <180, 170>, <180, 171>,那么,现在给出一个整型序列,请找出这些捣乱分子对的个数(仅给出捣乱分子对的数目即可,不用具体的对)要求:输入:为一个文......【阅读全文】
发布时间:2012-12-23 01:09:11
在一个int 数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。 这个题目到手直观感受是相当于一轮快排。所以对原数组进行快排,完成后的序列和新序列如果值相等,那么说明该数满足条件。 文中的解答如下: 直观想法是用两个数组a、b。a[i]、b[i]分别保存从前到i 的最大的数和从后到i 的最小的数,一个解答:这需要两次遍历,然后再遍历一次原数组,将所有data[i]>=a[i-1]&&data[i]<=b[i]的data[i]找出即可。给出这个解答后,面试官有要求只能用一个辅助数组,且要求少遍历一次。 该算法优化仅需......【阅读全文】
发布时间:2012-12-23 00:29:20
原题目是求一个无序数组中最长的等差数列。 求随机数构成的数组中找到长度大于=3 的最长的等差数列, 输出等差数列由小到大:如果没有符合条件的就输出格式:输入[1,3,0,5,-1,6]输出[-1,1,3,5] 解法如下: 1.排序 2.设极值分别为min, max,那么公差范围为(1..max-min); 3.公差d从(1..max-min)循环,求出每次的最长的数列长度f(d) <根据已得到的数列的长度,还可以进一步减少循环次数> 所以该题目基础是求出一个有序数组中公差为d的最长等差数列。 较简单动态......【阅读全文】
runningdark2013-03-21 15:47
txgc_wm:楼主的股票软件如何,做的怎么样?
如果完善,是否可以将它放到git上,分享一下。
sorry啊,后来兴趣淡了就没做了。只实现了输入一个股票代码然后从yahoo下载下来东西 然后show k线到屏幕上的过程。部分代码在这。https://github.com/roynwang/RStock
回复 | 举报小尾巴鱼2012-09-11 10:30