代码改变世界

找出数组唯一重复的元素

2011-09-27 10:26 by chonghui1001, 264 阅读, 0 推荐, 收藏, 编辑
摘要:Description: 1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次.最基本的解法就是sum - (1 + 2 + …… + 1000),不过由于问题的特殊性下标和数组中元素值的联系关系可以使用以下的解法 index = array[len - 1] - 1; while (1) { if (array[index] < 0) break; array[index] *= -1; index = array[index] *(-1) - 1; }这个其实可以转换为一个链表的形式,在编程中用到的也很多,但是没有想到编程的术语来... 阅读全文

LCS

2011-09-26 21:09 by chonghui1001, 205 阅读, 0 推荐, 收藏, 编辑
摘要:求最长公共字串问题LCS 动态规划求解LCS问题,这类问题可以分为两种第一为子串必须连续,第二种子串不连续。 本质上我觉得没有区别,都是动态规划的问题。用空间换取时间,应用较多。 阅读全文

用C语言实现memmove函数

2011-09-25 19:35 by chonghui1001, 761 阅读, 0 推荐, 收藏, 编辑
摘要:Description: 用C 语言实现函数void * memmove(void *dest,const void *src,size_t n)。memmove函数的功能是拷贝src 所指的内存内容前n 个字节到dest 所指的地址上 说明: 这个实现并不难但是有两点要注意,如何应对不同的类型,第二点就是如果内存有重叠的区域怎么处理。这让我想起了另外一道题目,给定一个数组现在数组的每一个元素等于前一个元素除以当前元素的值,这个变化的问题没有什么专有的名词来形容,但是都是同一类的问题,本质上就是值已经改变了,不能在次使用,只有细心才能解决,一般的遍历的顺序的问题,先修改再使用,还是先使用在.. 阅读全文

给定一个集合和一个数找出比这个数大的最小的数

2011-09-25 19:14 by chonghui1001, 920 阅读, 0 推荐, 收藏, 编辑
摘要:description: 给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。思路: 1.将数组A排序. 2.生成一个十个数的数组B,B[i]中的每一个的元素都是A中比i大的最小的元素,如果不在A中则用A中所组合而成的最小的两位数代替,比如上例则生成B[]={1, 3, 3, 8, 8, 8, 8, 8, 10, 10} 3.从给定的数最高位开始找到第一不在A中的位数i的权值m, 从第i位开始到最高位找到第一个权值m,B[m] != max(A中组合而成的最小的两位数), 剩下的位都... 阅读全文

二叉树上任意两个节点的最近公共父节点

2011-09-24 22:03 by chonghui1001, 599 阅读, 0 推荐, 收藏, 编辑
摘要:这个问题有LCA算法但是我还是使用的是递归的解法,后序遍历static bool lca(node *root, int va, int vb, node *&result, node *parent){ int left, right, mid; left = right = mid = 0; //判断左右子树是否有要寻找的节点 if (root->left) left = lca(root->left, va, vb, result, root); if (root->right) right = lca(root->right, va, vb, resul 阅读全文

平面上N个点求斜率最大的两个点

2011-09-24 20:01 by chonghui1001, 540 阅读, 0 推荐, 收藏, 编辑
摘要:平面上N个点求斜率最大两个点1.根据X将N个点排序2.最大的斜率为max(p[i], p[i+1])可以证明如果有ABC三个点则AB与BC的斜率一个大于AC另一个则小于AC, k3 = (c - b)/(c - a)k2 + (b -a)/(c-a)k1;通过反正法可以证明k3在k1和k2之间p[i], p[i + k]斜率在(p[i ], p[i + 1]) 和(p[i + 1] , p[i + k])之间,然后递归推出最大的斜率为max(p[i], p[i + 1]); 阅读全文

王者归来

2011-09-23 22:34 by chonghui1001, 168 阅读, 0 推荐, 收藏, 编辑
摘要:等着我重出江湖王者归来吧~~ 阅读全文