算法
文章平均质量分 50
瑞卡哥哥
这个作者很懒,什么都没留下…
展开
-
多类型大批量数据排行榜计算项目实践
背景,类似大众点评的门店评分系统,每个门店涉及多个类目每个门店有一个评分,根据类目和门店所在城市计算出评分的排行榜取top10,评分相同则取最小的门店id.门店数据有大概50万.分开类目城市参与排序数量有大概800万鉴于背景,此项目计算肯定不能太大的时间复杂度,单拆分数据就已经有800万需要参与排序了,所以必然要用空间来换时间.而且还得将低排名的数据清理掉,最终保留top20就已经满足要求了.解决方案:1.使用redis SortedSet有序集合来自动排序,使用已有的轮子来减少代码量2..原创 2021-05-21 11:04:57 · 348 阅读 · 0 评论 -
求子数组的最大和要求O(n)
求子数组的最大和输入一个整形数组,有整数也有负数,数组中连续一个或多个子数组,每个子数组都有一个和,求所有子数组的和的最大值,要求时间复杂度O(n)原创 2014-11-03 13:37:44 · 1053 阅读 · 0 评论 -
n个数字形成一个圆圈,隔m个数字删除一个的问题
n个数字(0,1,2,3.。。n)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为数字本身,第二个为当前的下一个数字)当一个数字删除后,从被删除的下一个继续删除第m个数字。求剩下的最后一个数字。原创 2014-11-05 22:30:15 · 2166 阅读 · 0 评论 -
不用分支语句实现1+2+。。。+n
不使用乘除法,for、while 、if、else、switch、case、以及A?B:C三元表达式求1+2+3+...+n原创 2014-11-03 14:12:21 · 889 阅读 · 0 评论 -
寻找单向链表的倒数第k个节点
输入一个单向链表,输出这个单向链表的倒数第k个节点原创 2014-11-03 14:35:22 · 820 阅读 · 0 评论 -
上下排数问题
根据上排给出的10个数,在其下排填出对应的十个数,要求下排每个数都是上排那十个数在下排出现的次数。原创 2014-11-03 13:31:10 · 842 阅读 · 0 评论 -
实现O(1)时间复杂度带有min和max 函数的栈
只是演示实现,不考虑栈使用的数据结构是vector 还是其他容器。原创 2014-10-28 22:00:34 · 3673 阅读 · 0 评论 -
C语言、python、go、C#版本选择排序
多语言同步学习也是个不错的享受原创 2014-09-11 12:31:18 · 1719 阅读 · 1 评论 -
变相进位制对不同长度的数组元素全组合
原创博客,转载请注明出处。http://blog.csdn.net/zhouqinghe24要求:将下列数组中各取一个元素组合所有可能的组合{a,b,c}{b,c}{a,b,d,h}怎么做呢??递归是不是效率很差呢!!!原创 2014-03-11 17:50:54 · 1524 阅读 · 0 评论 -
[源码分享]基于加法的高效极大数乘法
数学乘法 从小学开始就一直是基于加法的,所以,我写了一个基于加法的大数乘法。扩展方法省去了类型转换的损耗,原理如下: 1 2 3 * 5 6------------------------ 7 3 8+ 6 1 5 0 这里加个0-------------------------= 6 8原创 2013-05-03 11:34:28 · 2380 阅读 · 7 评论 -
C#实现M选N的全排列的问题的方法
C# M选N全排列问题public static void Arrange(int n, int r) { int i = 0, j; string s; int[] a = new int[n]; a[i] = 1; while (true)原创 2012-11-02 11:29:06 · 2246 阅读 · 0 评论 -
多个数组全排列问题
多个数组全排列问题:多个数组,int[]A={1,2,3};int[]B={4,5};int[]C={5,6};......int[]N={1,2};N个数组,每个数组中取一个元素,进行全排列。我写了一个下标进位制的算法,分享给大家,首先,需要把这N个数组的长度组成新的数组,int[] Counts={A.Length,B.Length,C.Leng原创 2012-11-20 11:06:11 · 2188 阅读 · 1 评论