引言 之前有段时间研究过推荐算法,倒不是科研需要,是觉得很想弄明白每天淘宝的时候那些猜你喜欢的东西是怎么冒出来的,还有最近很火的网易云音乐以及虾米音乐的推荐算法,这…
《深入理解Java虚拟机》笔记 第十二章 内存模型
主内存与工作内存 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量值这样的底层细节。 此处的变量(Variable)与Ja…
O(n)时间解决的面试题:循环移位
问题描述 一个数组或者一个字符串,比如12345循环移动一位就是23451,再循环移动一位就是34512,问循环移动m位之后,数组或者字符串变成什么样 分析问题 &…
O(n)时间解决的面试题:二进制矩阵中1的个数
问题描述 给定n*n的01方阵,每一行都是降序排列,即先前的一段一定是1,到10分界处之后才是全0,求1最多的那行中1的个数 分析问题 …
O(n)时间解决的面试题:乘积最大子数组
leetcode 152 问题描述 给定一个数组,求最大的连续子数组乘积最大 分析问题 跟求和最大子数组类似…
O(n)时间解决的面试题:Container with most water
leetcode11 问题描述 一个数组a[i]表示数轴上i的位置有一条高度为a[i]的竖直线段,把两条线段当作一个容器左右边的高度,问,哪两条线段组成的容器容积最…
O(n)时间解决的面试题:下雨积水量问题
问题描述 如下图所示,给定一个数组[0,1,0,2,1,0,1,3,2,1,2,1],对应每个轴上的高度,求能积水的水量 分析问题 每一…
O(n)时间解决的面试题:名人问题
问题描述 有n个人他们之间认识与否用邻接矩阵表示(1表示认识,0表示不认识),并A认识B并不意味着B认识A,也就意味着是个有向图 如果一个人是名人,他必须满足两个条件,一个是他不认识任何人,另…
剑指Offer解题报告(Java版)——字符串转换为数字 49
引言 STOI是很常见的一道题,leetcode上也有,字符串转换为数字一般都会有现成的函数去实现这样的功能,但有时候需要我们理解其中的具体实现,因为虽然是个很常见…
剑指Offer解题报告(Java版)——排序数组中某个数的个数 38
分析问题 问题只需要找到排序数组中某个数K的个数,由于已经是排序了,K一定是在一堆的,所以我们只需要找到第一个K的index1,然后找到最后一个K的index2就可…
剑指Offer解题报告(Java版)——不用加减乘除做加法 47
引言 一般这种不能用四则运算的题都只有用位运算来做,目的是加强大家对计算机计算的理解,真是有点扯淡呢 解决问题  …
剑指Offer解题报告(Java版)——约瑟夫环 45
引言 常见的约瑟夫环问题有用循环链表做的,有用数组做的,这里提供一个用数学公式做的,由此可见,很多计算机的问题如果最终用到数学的知识,时间复杂度会大大的降低 &nb…