算法
文章平均质量分 76
litongtong1028
这个作者很懒,什么都没留下…
展开
-
随机生成和为S的N个正整数
随机生成和为S的N个正整数——投影法 随机生成和为S的N个正整数有很多种解法。下面讲解一种比较高效且比较有趣味性的解法——投影法。 以生成和为20的4个数为例,可以先生成随机生成0到20之间的三个数字再排序,假设得到了4,7,18。然后在X-Y数轴上画出这三个数,如下图: 然后将这些数值投影到Y轴上,可得下图: 由图很容易看出AB,BC,CD,DE这四段的长度...原创 2015-08-03 11:30:15 · 233 阅读 · 0 评论 -
数组中只出现一次
原文章地址:http://blog.csdn.net/morewindows/article/details/12684497 首先看看题目要求: 数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到x。 这个题目非常有意思,在本人博客中有《位操作基础篇之位操作全面总结》这篇文章介绍了使用位操作的异或来解决——数组中其他数字出现二次,而x出...原创 2015-08-03 11:36:40 · 71 阅读 · 0 评论 -
“一步千里”之数组找数
原文地址:http://blog.csdn.net/morewindows/article/details/10645269 首先看看题目要求(题目来源:http://weibo.com/lirenchen,特此鸣谢): 有这样一个数组A,大小为n,相邻元素差的绝对值都是1。如:A={4,5,6,5,6,7,8,9,10,9}。现在,给定A和目标整数t,请找到t在A中的位置。除了依次遍历,...原创 2015-08-03 14:39:50 · 76 阅读 · 0 评论 -
LRU算法解析
在项目中用到了common-collections中LRUMap,最近有空看了一下源码,对LRU算法有了更具体的认识,LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 LRUMap实现的核心思想是使用一个链表,将经常使用的放在链表的尾部,如果LRUMap的size已经到最...原创 2016-01-02 11:57:43 · 386 阅读 · 0 评论