算法
文章平均质量分 53
fighter_lp
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
求数组的最大值和最小值
方法一:分别遍历数组两次,求出最大值和最小值,这样比较次数为2n方法二:定义一个结构类型,用来存储最大值和最小值将数组中的元素两两配对,对每对数据进行比较,并将较大值与结构体中的最大值比较,将较小值和结构体中的最小值比较算法的比较次数为1.5n方法二的具体实现代码://递归实现struct Res{ int max ; in原创 2013-04-10 21:26:08 · 1103 阅读 · 0 评论 -
求无序数组第K大的数
给出一个数组,要求查找出这个数组中按顺序排第K大的数字思路一:利用快排算法先将数组排序,然后在定位到第K个元素即可,算法复杂度为O(nlogn)思路二:利用快排和二分查找,先把数组分成两个部分,左边的比数轴pivot小,右边的比数轴pivot大。然后再比较pivot的位置和K的关系,如果比K大,那么第K个值就在pivot的左边,反之若比K小,则第K个值就在pivot的右边,若相原创 2013-04-10 22:28:30 · 1074 阅读 · 0 评论 -
数组循环移位
编程之美中的题目:设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。程序思路:假设原始数组序列为abcd1234,循环右移4位。变换过程如下:1. 逆序排列abcd: abcd1234 -> dcba12342. 逆序排列1234:dcba1234 -> dcba43213. 全部逆序:原创 2013-04-22 15:33:23 · 572 阅读 · 0 评论 -
寻找发帖水王
题目:Tango是微软亚洲研究院的一个试验项目。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发贴,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的Tango水王吗? –《编程之美》扩展:随着Tango的发展转载 2013-04-14 11:38:36 · 614 阅读 · 0 评论 -
生成随机数问题
题目:给一个函数rand5(),它可以产生0到4之间的随机数(整数),要求写出函数rand8(),可以产生0到7之间的随机数(整数)解决方法:function rand8(){ while (true) { $i = 5 * rand5() + rand5(); if( $i 24 ) {转载 2013-05-12 23:21:12 · 608 阅读 · 0 评论
分享