- 博客(6)
- 资源 (12)
- 收藏
- 关注
原创 寻找数组中的最大值和最小值
数组是最简单的一种数据结构。我们经常碰到一个基本的问题,就是寻找整个数组中的最大数或最小数。我们只需遍历一遍数组,就能找到最大(最小)数。如果同时寻找最大数和最小数呢?对于一个由N个整数组成的数组,需要比较多少次才能把最大和最小的数找出来呢?解法一:可以把这个问题分解为两个问题,求最大值和最小值,我们可以遍历两边数组,第一遍求最大值,第二遍求最小值,时间复杂度为O(2*N)。解
2016-05-27 16:08:58 2405
原创 SGI STL源码之内存配置
好长时间没有写博客了,最近一直忙于看STL源码和实验室其它事情。在骑行了12公里的情况下,终于停歇下来,静静地坐着,开始思考人生,思考STL是如何配置内存的。1、SGI STL在配置内存的时候主要考虑了以下几点:①向堆申请空间②考虑了多线程③考虑了内存碎片的问题④考虑了当内存不足时的应变策略在C++中申请堆内存使用的是new操作符,释
2016-05-26 11:06:38 1419
原创 寻找发帖”水王“
问题描述:某一贴吧有一个超级大“水王”,他不但喜欢发帖,还喜欢回复其他ID发的帖子,传闻该“水王”发的帖子数量超过了帖子总数的一半。如果你有一个当前贴吧的所有帖子的列表,其中帖子的作者ID也在表中,如何快速找出这个超级大“水王”?分析与解法:最直接的方法就是,对所有的ID进行排序,然后统计出每个ID出现的次数,如果某个ID出现的次数超过总数的一半,则此ID就是“水王”。
2016-05-16 16:51:44 953
原创 求二进制中1的个数
问题描述:对于一个字节的无符号整型变量,求其二进制表示中“1”的个数,要求算法的执行效率尽可能快。解法一:我们知道如果一个数除以2,就相当于这个数右移1位,例如1001 0010:第一次除以2时,商为0100 1001 ,余数为0;第二次除以2时,商为0010 0100,余数为1;因此我们可以通过相除和判断余数来求解,代码如下:
2016-05-13 10:03:35 745
原创 动态规划概念讲解
1、基本概念动态规划和分治方法相似,都是通过组合子问题的解来求解原问题的解。分治方法是将问题分解为相互独立的子问题,递归地求解这些子问题,然后求原问题的解。与之不同的是,动态规划应用于子问题重叠的情形,即子问题的解依赖于子子问题的求解。在这种情形下,分治方法会做出许多不必要的工作,它会反复地去求解公共子问题。而动态规划对每个子子问题只求解一次,将其解记录在一个表格中,从而无需每
2016-05-12 15:50:24 1158
转载 每秒处理10万订单乐视集团支付架构
作者:梁阳鹤,乐视网boss平台技术部架构师,主要负责乐视集团支付,乐视会员系统,商业运营平台等系统架构工作。开源数据访问层框架mango作者。责编:钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件qianshg@csdn.net,另有「CSDN 高级架构师群」,内有诸多知名互联网公司的大牛架构师,欢迎架构师加微信qshuguang2008申请入群,备注姓名+公司+职位。随着乐视硬
2016-05-10 16:47:10 4532 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人