自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 基于Mahout实现协同过滤推荐算法的电影推荐系统

1 Mahout介绍Apache Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。经典算法包括聚类、分类、协同过滤、进化编程等等,并且,在 Mahout 中还加入了对Apache Hadoop的支持,使这些算法可以更高效的运行在云计算环境中。...

2019-02-24 16:32:05 35079 177

原创 剑指offer(9) 斐波那契数列及青蛙跳台阶问题

题目  写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。思路  如果直接写递归函数,由于会出现很多重复计算,效率非常底,不采用。  要避免重复计算,采用从下往上计算,可以把计算过了的保存起来,下次要计算时就不必重复计算了:先由f(0)和f(1)计算f(2),再由f(1)和f(2)计算f(3)……以此类推就行了,计算第n个时,只要保存第n-1和第n-2项就可以了...

2019-06-07 22:24:48 178

原创 剑指offer(8) 用两个栈实现队列

题目  用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。思路  这道题较简单,自己先试着模拟一下插入删除的过程(在草稿纸上动手画一下):插入肯定是往一个栈stack1中一直插入;删除时,直接出栈无法实现队列的先进先出规则,这时需要将元素从stack1出栈,压到另一个栈stac...

2019-06-07 22:04:16 548

原创 剑指offer(7) 二叉树的下一个结点

题目  给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点?树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针。思路  首先自己在草稿纸上画图,进行分析(不再展开)。可以发现下一个结点的规律为:  1.若当前结点有右子树时,其下一个结点为右子树中最左子结点;  2.若当前结点无右子树时,    (1)若当前结点为其父结点的左子结...

2019-06-07 21:59:09 142

原创 剑指offer(6) 重建二叉树

题目  输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2, 4, 7, 3, 5, 6, 8}和中序遍历序列{4, 7, 2, 1, 5, 3, 8, 6},则重建出其二叉树并输出它的头结点。思路  前序遍历第一个值就是根结点的值,根据该值在中序遍历的位置,可以轻松找出该根结点左右子树的...

2019-06-07 21:51:19 108

原创 剑指offer(5) 从尾到头打印链表

题目  输入一个链表的头结点,从尾到头反过来打印出每个结点的值。结点定义如下:public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}思路  结点遍历顺序只能从头到尾,但是输出的顺序却为从尾到头,是典...

2019-06-07 21:46:44 97

原创 剑指offer(4) 替换空格

题目  请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.”。思路  首先要询问面试官是新建一个字符串还是在原有的字符串上修改,本题要求在原有字符串上进行修改。  若从前往后依次替换,在每次遇到空格字符时,都需要移动后面O(n)个字符,对于含有O(n)个空格字符的字符串而言,总的时间效率为O...

2019-06-07 21:37:16 92

原创 剑指offer(3) 二维数组中的查找

题目  在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路  查找整数时,如果从左上角开始查找,情况较为复杂,可以转换思路,从右上角开始查找:左边数字比较小,右边数字比较大,容易进行判断。测试用例  1.要查找的数字在数组中  2.要查找的数字不在数...

2019-06-07 21:30:37 86

原创 LeetCode387 First Unique Character in a String

题目描述Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.给定一个字符串,找到其中第一个非重复字符并返回它的索引。如果不存在,返回-1。Examples:s = "leetcode"return 0....

2019-06-06 01:28:59 198

原创 LeetCode917 Reverse Only Letters

题目描述Given a stringS, return the "reversed" string where all characters that are not a letterstay in the same place, and all letters reverse their positions.给定一个字符串S,返回反转后的字符串,其中所有不是字母的字符都位于相同的位置...

2019-06-06 01:24:06 122

原创 LeetCode263 Ugly Number

题目描述Write a program to check whether a given number is an ugly number.Ugly numbers arepositive numberswhose prime factors only include2, 3, 5.编写一个程序来检查给定的数字是否是一个丑数。丑数是正数并且它的质因数只有2,3,5。Examp...

2019-06-06 00:48:04 76

原创 LeetCode 961 N-Repeated Element in Size 2N Array

题目描述In a arrayAof size2N, there areN+1unique elements, and exactly one of these elements is repeated N times.Return the element repeatedNtimes.在大小为2N的数组A中,有N+1个唯一元素,其中一个元素恰好重复N次。返回重复N次的元素...

2019-06-06 00:41:15 90

原创 LeetCode217 Contains Duplicate

题目描述Given an array of integers, find if the array contains any duplicates.Your function should return true if any value appears at least twice in the array, and it should return false if every ele...

2019-06-06 00:19:26 111

原创 LeetCode169 Majority Element

题目描述Given an array of sizen, find the majority element. The majority element is the element that appearsmore than⌊ n/2 ⌋times.You may assume that the array is non-empty and the majority elemen...

2019-06-05 23:55:39 113

原创 剑指offer(2) 不修改数组找出重复的数字

题目   在一个长度为n+1的数组里的所有数字都在1到n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2, 3, 5, 4, 3, 2, 6, 7},那么对应的输出是重复的数字2或者3。思路  数组长度为n+1,而数字只从1到n,说明必定有重复数字。可以由二分查找法拓展:把1~n的数字从中间数字m分...

2019-06-05 23:35:19 114

原创 剑指offer(1) 找出数组中重复的数字

题目  在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2, 3, 1, 0, 2, 5, 3},那么对应的输出是重复的数字2或者3。思路  从哈希表的思路拓展,重排数组:把扫描的每个数字(如数字m)放到其对应下标(m下标)的位置上,若同一...

2019-06-05 23:21:37 244

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除