
算法
转身雪人
随心所欲,认真生活
展开
-
Bloom Filter 公司周会的分享
不喜欢写PPT,也不喜欢对着文字干讲。结合脑图和一些代码demo来讲package com.playground.google.bloomfilter;import com.google.common.base.Charsets;import com.google.common.hash.BloomFilter;import com.google.common.hash.Funnel...原创 2019-12-06 17:02:45 · 402 阅读 · 0 评论 -
【基础】递归和尾递归,我的个人看法
之前只知道递归这个概念,无非是函数内部调用自己。递归递归,有来有回。从调用的最外层开始一层一层往里进去直到最里层然后带着结果一层层出来到最外面返回。那么 尾递归是什么呢?很多篇文章拿阶乘来举例子。 我按照我的理解总结为最后的返回值只有函数自身的调用,而不含有表达式。函数递归调用过程中产生的中间累计的值以变量的形式存储在下一层函数的入参中,逐级传递下去。第二句话是...原创 2018-06-05 19:19:28 · 738 阅读 · 0 评论 -
【基础算法】LRU-包括最简单的实现和纯手写
Least Recently Use LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。什么是LRULRU的最简单实现手写LRU 什么是LRU利用LinkedHashMap实现的简单LRU看看如何使用手写LRU(利用数组)手写LRU(...原创 2018-01-30 14:28:19 · 9650 阅读 · 0 评论 -
【长篇读后】跟着两只仓鼠学算法 漫画算法系列
感谢微信公众号“算法爱好者”,以及该漫画系列的出处“程序员小灰”这里会长期小灰每一期的学习感悟总结。算法系列最小栈实现判断2的乘方找出缺失的整数辗转相除法是什么鬼Bitmap 算法算法系列漫画算法:什么是动态规划?(整合版) 漫画算法:什么是跳跃表? 漫画算法:什么是 B 树? 漫画算法:什么是 B+ 树? 漫画算法:什么是一致性哈希? 漫画...原创 2018-02-21 00:04:50 · 5217 阅读 · 2 评论 -
【小题】反转带有多个words的字符串
题目要求: 有类似apple banana orange … 的长字符串,每一个word之间用一个或者多个空格分割。你需要写一个程序让字符串反转成…orange banana apple这样。 注意单词之间的空格原样保留,比如“ap俩空格ad空格ac”反转后“ac空格ad俩空格ap”我自己编的题目。。 难度很低,实现以下 如果不还原单词之间的空格个数的话会更简单。。。pu...原创 2018-02-27 15:11:03 · 210 阅读 · 0 评论 -
【BUG】交换两个元素的时候遇到的坑!
交换元素的方式无非有这么三种: //愚蠢且多空间的中间量法 temp = a; a = b; b = temp; //异或法 a = a^b; b = a^b; a = a^b; //相减法,原理其实也是异或 a = a+b; b = a-b; a = a-b;我在写选择排序的时候发现当使用异或交...原创 2018-02-26 19:12:20 · 345 阅读 · 0 评论 -
【算法基础】排序算法整理
目前在面试阶段,所以当前版本是面向面试的版本(即,不会谈不太常考的排序)先来个结论: 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。再说个注意事项: 排序算法中交换两个元素的时候能用temp尽量用temp。如果非要用异或的话,一定一定一定要对两个交换的元素的下标进行判断,如果是相同下标直接return!...原创 2018-01-24 13:30:06 · 455 阅读 · 0 评论 -
【题目】实现开机排名的小程序
/** * @description * @author vermouth.Mac * @version 2018年2月4日 下午9:07:36 * * 源于和搜狐视频的面试。当时答的不好,在这里实施一遍。 如何通过输入一个开机时间,来确定你击败了全国百分之多少的用户。 * * 此版本的程序缺陷在于,程序关闭后数据就清0了。 * *原创 2018-02-04 23:05:51 · 273 阅读 · 0 评论 -
Hash冲突的解决方法(待完善)
一般比较常用的方法有开放地址法:(内容来自百度百科) 1. 开放寻址法:Hi=(H(key) + di) MOD m,i=1,2,…,k(k1.1. di=1,2,3,…,m-1,称线性探测再散列;顺序查看表的下一单元,直至找到某个空单元,或查遍全表。 1.2. di=1^2,-1^2,2^2,-2^2,⑶^2,…,±(k)^2,(k1.3. di=伪随机数序列,称伪随机探测再散列。根原创 2018-01-21 22:37:05 · 364 阅读 · 0 评论 -
【分享】浅谈(史诗巨制)HashMap
简要介绍一下HashMaphash函数how to Put or GetputgetreSize reHash并发情况下出现的问题HashMap Infinite Loop解决方案ConcurrentHashMap 和大家分享一下HashMap这种常用的数据结构,以及他在并发上会出现的问题。简要介绍一下HashMapHashMap是 key-value 形式存储数据的一种数原创 2017-12-01 16:38:58 · 258 阅读 · 0 评论 -
【通用】正则表达式小记
http://www.cnblogs.com/zery/p/3438845.html转载 2017-10-20 17:17:02 · 242 阅读 · 0 评论 -
【JAVA经典】关于int的超限
1+1=2 那么 2-1=1是一定成立的么 public int proReverse(int x){ int result = 0; while (x != 0) //假设输入1234 { int tail = x % 10; //取到数字末尾4,3,2,1原创 2017-01-19 13:26:32 · 639 阅读 · 0 评论