关于建表和算法的问题,-问答-阿里云开发者社区-阿里云

开发者社区> 落地花开啦> 正文

关于建表和算法的问题,

2016-02-20 16:59:33 1334 1

我有这么一个需求:要求记录用户扣量的记录,根据用户使用情况来扣量,用多少扣多少,没有特别的情况
建个表:shiyong
为了方便查看,这里我只拿一个用户a来举例
1
建个表:liwu
还有一个表,专门记赠送A的费用记录,但是赠送的记录有这么一条规则“只能在使用期限内有效”,如果超过了时间则无效
有效时间:5,表示5天
2
那么,这里就有这么几个情况:
a没有收到过赠送,这个好算:shiyong.扣量的总和
a收到过赠送,在有效期内刚好抵扣完,这个也好算:shiyong.扣量的总和-liwu.收到
最难算的应该是下面这种情况了:
如果用户在13年-14年不间断的增加扣量
前半年没收到任何赠送
后半年不间断陆续收到赠送
有的有效期短,只有2天,有的有30天等不同有效期、不同抵扣量
有的赠送在有效期内全部使用完,有的赠送在有效期内只用了一部分
提问,上诉最后一种情况,该怎么处理呢?一条一条的遍历吗?
上面只举了一个用户一年的使用量,如果有N个用户,2、3年的记录,那效率不是相当低下?

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 18:45:31

    算法方面的话建议,将赠送表按时间建立线段树(有个隐患,当两个赠送时间有重叠的时候,拆分为3个赠送方便处理 ),再将使用量投入相应节点计算总和,最后遍历树就知道最终结果了。算法复杂度:O(n) = N*log(N) 大概这样吧。用存储过程效率好一点。

    0 0
相关问答

1

回答

如何构建机器学习算法?

问问小秘 2020-04-15 14:07:23 35387浏览量 回答数 1

25

回答

云服务器网站没有被百度和google收录或者收录少怎么办?

qilu 2014-05-20 18:13:19 29929浏览量 回答数 25

38

回答

干货分享:DBA专家门诊一期:索引与sql优化问题汇总

xiaofanqie 2014-12-25 15:13:38 91762浏览量 回答数 38

9

回答

换个角度理解正则表达式

jagen 2014-07-23 14:00:21 25073浏览量 回答数 9

37

回答

阿里官方Java代码规范标准《阿里巴巴Java开发手册》下载

管理贝贝 2017-02-10 15:14:36 74932浏览量 回答数 37

13

回答

【阿里云产品公测】开放搜索服务之 智能聊天实现

啊里新人 2014-10-21 10:41:20 33511浏览量 回答数 13

6

回答

弹性计算。。

d1004 2011-11-23 14:35:13 24547浏览量 回答数 6

26

回答

云数据库OceanBase的架构演进【精品问答集锦】

管理贝贝 2016-09-02 16:57:42 44047浏览量 回答数 26

24

回答

比赛_快速入门_4_19_update_仅供参考,思维不要受局限

小斯never 2015-03-22 18:22:43 33067浏览量 回答数 24

5

回答

C语言算法 【精品问答合集】

我是管理员 2018-07-13 15:51:28 26897浏览量 回答数 5
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载