算法
文章平均质量分 73
wangyuquan
这个作者很懒,什么都没留下…
展开
-
LintCode-N皇后问题
n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击。给定一个整数n,返回所有不同的n皇后问题的解决方案。每个解决方案包含一个明确的n皇后放置布局,其中“Q”和“.”分别表示一个女王和一个空位置。您在真实的面试中是否遇到过这个题? Yes样例对于4皇后问题存在两种解决的方案:[ [".Q..", // Solution原创 2015-08-20 19:49:42 · 2260 阅读 · 0 评论 -
LintCode-分割回文串 II
给定一个字符串s,将s分割成一些子串,使每个子串都是回文。返回s符合要求的的最少分割次数。您在真实的面试中是否遇到过这个题? Yes样例比如,给出字符串s = "aab",返回 1, 因为进行一次分割可以将字符串s分割成["aa","b"]这样两个回文子串标签 Expand 相关题目 Expand 分析:一开始写了个n的原创 2015-08-09 14:34:36 · 5189 阅读 · 0 评论 -
LintCode-带环链表 II
给定一个链表,如果链表中存在环,则返回到链表中环的起始节点的值,如果没有环,返回null。您在真实的面试中是否遇到过这个题? Yes样例给出 -21->10->4->5, tail connects to node index 1,返回10挑战不使用额外的空间标签 Expand 相关题目 Expand 分析:原创 2015-08-08 16:57:26 · 2492 阅读 · 1 评论 -
LintCode-排序列表转换为二分查找树
给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树您在真实的面试中是否遇到过这个题? Yes样例标签 Expand 相关题目 Expand 分析:就是一个简单的递归,只是需要有些链表的操作而已代码:/** * Definition of ListNode * class ListNode { *原创 2015-08-08 16:15:31 · 1982 阅读 · 0 评论 -
LintCode-硬币排成线
有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。请判定 第一个玩家 是输还是赢?您在真实的面试中是否遇到过这个题? Yes样例n = 1, 返回 true.n = 2, 返回 true.n = 3, 返回 false.n = 4, 返回 true.n = 5, 返回原创 2015-08-08 19:47:10 · 2658 阅读 · 6 评论 -
LintCode-删除排序链表中的重复数字 II
给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。您在真实的面试中是否遇到过这个题? Yes样例给出1->2->3->3->4->4->5->null,返回1->2->5->null给出1->1->1->2->3->null,返回 2->3->null标签 Expand 分析:因为是排序链表,所以每次判断原创 2015-08-08 15:54:59 · 3007 阅读 · 0 评论 -
LintCode-LRU缓存策略
为最近最少使用(LRU)缓存策略设计一个数据结构,它应该支持以下操作:获取数据(get)和写入数据(set)。获取数据get(key):如果缓存中存在key,则获取其数据值(通常是正数),否则返回-1。写入数据set(key, value):如果key还没有在缓存中,则写入其数据值。当缓存达到上限,它应该在写入新数据之前删除最近最少使用的数据用来腾出空闲位置。您在真实的面试中是原创 2015-08-08 13:46:09 · 2103 阅读 · 0 评论 -
朴素贝叶斯实现垃圾邮件分类------matlab实现
之所以用matleb实现,是因为这是数据挖掘课的几个大作业之一,作业要求,不然也不会这么蛋疼用matlab....(因为我不会matlab...)朴素贝叶斯原理非常简单,最重要的就是概率公式:其余的内容介绍可以参考:http://zh.wikipedia.org/wiki/%E6%9C%B4%E7%B4%A0%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%88%8原创 2013-11-30 22:55:24 · 10705 阅读 · 10 评论 -
LintCode-跳跃游戏
给出一个非负整数数组,你最初定位在数组的第一个位置。 数组中的每个元素代表你在那个位置可以跳跃的最大长度。 判断你是否能到达数组的最后一个位置。样例A = [2,3,1,1,4],返回 true.A = [3,2,1,0,4],返回 false.分析:遍历一遍,记录可走的点可以达到的最远点代码:class Solution {pu原创 2015-05-21 20:17:37 · 2413 阅读 · 0 评论 -
LintCode-不同的二叉查找树 II
给出n,生成所有由1...n为节点组成的不同的二叉查找树样例给出n = 3,生成所有5种不同形态的二叉查找树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2原创 2015-05-17 19:18:03 · 1856 阅读 · 0 评论 -
topcoder srm656 1000分题(div2)
Problem Statement You are given an int N and a int[] pos. We are interested in some permutations of the set {1,2,...,N}. A permutation p is called good if the following condition is sa原创 2015-04-21 20:45:52 · 1140 阅读 · 0 评论 -
Codeforces Round #296 (Div. 2)
A题:http://codeforces.com/contest/527/problem/A A. Playing with Papertime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutp原创 2015-03-23 17:44:04 · 1568 阅读 · 0 评论 -
SVD在推荐系统中的应用与实现(c++)
主要参考论文《A Guide to Singular Value Decomp osition for Collab orative Filtering》其实一开始是比较疑惑的,因为一开始没有查看论文,只是网上搜了一下svd的概念和用法,搜到的很多都是如下的公式:其中假设C是m*n的话,那么可以得到三个分解后的矩阵,分别为m*r,r*r,r*n,这样的话就可以大大降低存储代价,但是这里特别需要原创 2015-02-16 11:49:19 · 8852 阅读 · 11 评论 -
SlopeOne推荐算法实现(C++)
SlopeOne算法是一个非常简单的协同过滤算法,主要思想如下:如果用户u对物品j打过分,现在要对物品i打分,那么只需要计算出在同时对物品i和j打分的这种人中,他们的分数之差平均是多少,那么我们就可以根据这个分数之差来计算用户u对物品i的打分了,当然,这样的物品j也有很多个,那有的物品和j共同打分的人少,有的物品和j共同打分的人多,那么显而易见,共同打分多的那个物品在评分时所占的比重应该大一些。原创 2015-02-25 22:59:40 · 4475 阅读 · 2 评论 -
Codeforces Round #290 (Div. 2)
A题:http://codeforces.com/contest/510/problem/AA. Fox And Snaketime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outp原创 2015-02-06 16:23:35 · 1992 阅读 · 1 评论 -
MNIST手写数字体分类--KNN matlab实现
关于数据集神马的,请直接参考:http://blog.csdn.net/wangyuquanliuli/article/details/11606435这里直接给出KNN matlab的实现trainImages = loadMNISTImages('train-images.idx3-ubyte'); trainLabels = loadMNISTLabels('tr原创 2013-12-17 15:57:05 · 27038 阅读 · 11 评论 -
LintCode-k数和
给定n个不同的正整数,整数k(k 在这n个数里面找出K个数,使得这K个数的和等于目标数字,求问有多少种方案?您在真实的面试中是否遇到过这个题? Yes样例给出[1,2,3,4],k=2, target=5,[1,4] and [2,3]是2个符合要求的方案标签 Expand 相关题目 Expand 分析:看到这种题目想肯原创 2015-08-09 15:52:02 · 3374 阅读 · 0 评论 -
LintCode-最大子数组 III
给定一个整数数组和一个整数k,找出k个不重叠子数组使得它们的和最大。每个子数组的数字在数组中的位置应该是连续的。返回最大的和。您在真实的面试中是否遇到过这个题? Yes样例给出数组[-1,4,-2,3,-2,3]以及k=2,返回 8注意子数组最少包含一个数挑战要求时间复杂度为O(n)标签 Exp原创 2015-08-09 16:48:00 · 3619 阅读 · 1 评论 -
LintCode-通配符匹配
判断两个可能包含通配符“?”和“*”的字符串是否匹配。匹配规则如下:'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个串完全匹配才算匹配成功。函数接口如下:bool isMatch(const char *s, const char *p)您在真实的面试中是否遇到过这个题? Yes样例一些例子:isMatch("a原创 2015-08-09 19:05:13 · 2569 阅读 · 0 评论 -
LintCode-旋转链表
给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数您在真实的面试中是否遇到过这个题? Yes样例给出链表1->2->3->4->5->null和k=2返回4->5->1->2->3->null标签 Expand 相关题目 Expand 分析:感觉很直观,直接把分割点找出来就行,记得k可能大于len,要取原创 2015-08-08 15:44:05 · 828 阅读 · 0 评论 -
LintCode-数组划分
给出一个整数数组nums和一个整数k。划分数组(即移动数组nums中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置i,满足nums[i]大于等于k。您在真实的面试中是否遇到过这个题? Yes样例给出数组nums=[3,2,2,1]和 k=2,返回 1注意原创 2015-08-19 11:23:36 · 2978 阅读 · 0 评论 -
LintCode-第k大元素
在数组中找到第k大的元素您在真实的面试中是否遇到过这个题? Yes样例给出数组[9,3,2,4,8],第三大的元素是4给出数组 [1,2,3,4,5],第一大的元素是5,第二大的元素是4,第三大的元素是3,以此类推注意你可以交换数组中的元素的位置挑战要求时间复杂度为O(n),空间复杂度为O(1)标签 Exp原创 2015-08-18 20:17:22 · 5630 阅读 · 0 评论 -
LintCode-丑数
设计一个算法,找出只含素因子3,5,7 的第 k 大的数。符合条件的数如:3,5,7,9,15......您在真实的面试中是否遇到过这个题? Yes样例如果k=4, 返回 9挑战要求时间复杂度为O(nlogn)或者O(n)标签 Expand 相关题目 Expand 分析:分别设三个指针,表明乘以3,5,7原创 2015-08-18 17:42:15 · 2019 阅读 · 0 评论 -
LintCode-A + B 问题
给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。您在真实的面试中是否遇到过这个题? Yes样例如果 a=1 并且 b=2,返回3注意你不需要从输入流读入数据,只需要根据aplusb的两个参数a和b,计算他们的和并返回就行。挑战显然你可以直接 return a + b,但是你是否可以挑战一下不这样做?原创 2015-08-18 17:50:47 · 5519 阅读 · 3 评论 -
LintCode-赋值运算符重载
实现赋值运算符重载函数,确保:新的数据可准确地被复制旧的数据可准确地删除/释放可进行 A = B = C 赋值您在真实的面试中是否遇到过这个题? Yes样例如果进行 A = B 赋值,则 A 中的数据被删除,取而代之的是 B 中的数据。如果进行 A = B = C 赋值,则 A 和 B 都复制了 C 中的数据。挑战充分考虑原创 2015-08-12 21:39:29 · 835 阅读 · 0 评论 -
LintCode-买卖股票的最佳时机
假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。您在真实的面试中是否遇到过这个题? Yes样例给出一个数组样例 [3,2,3,1,2], 返回 1 标签 Expand 相关题目 Expand 分析:对于每一天来说,它能得到的最大利益原创 2015-08-13 21:05:22 · 4282 阅读 · 0 评论 -
LintCode-加油站
在一条环路上有 N 个加油站,其中第 i 个加油站有汽油gas[i],并且从第_i_个加油站前往第_i_+1个加油站需要消耗汽油cost[i]。你有一辆油箱容量无限大的汽车,现在要从某一个加油站出发绕环路一周,一开始油箱为空。求可环绕环路一周时出发的加油站的编号,若不存在环绕一周的方案,则返回-1。您在真实的面试中是否遇到过这个题? Yes样例现在有4个原创 2015-08-13 19:04:45 · 2789 阅读 · 0 评论 -
LintCode-交错正负数
给出一个含有正整数和负整数的数组,重新排列成一个正负数交错的数组。样例给出数组[-1, -2, -3, 4, 5, 6],重新排序之后,变成[-1, 5, -2, 4, -3, 6]或者其他任何满足要求的答案注意不需要保持正整数或者负整数原来的顺序。挑战原地完成,没有额外的空间分析:如果正数多那么第一个数应该是正数,反之也成立原创 2015-05-18 10:48:52 · 2220 阅读 · 1 评论 -
LintCode-两个整数相除
将两个整数相除,要求不使用乘法、除法和 mod 运算符。如果溢出,返回 2147483647 。您在真实的面试中是否遇到过这个题? Yes样例给定被除数 = 100 ,除数 = 9,返回 11。标签 Expand 相关题目 Expand 分析:既然不能乘法和除法,那肯定就只能位操作了,然后如果用减法的话,太慢了,必须想点二进原创 2015-08-12 21:26:02 · 3219 阅读 · 0 评论 -
LintCode-最长回文子串
给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。您在真实的面试中是否遇到过这个题? Yes样例给出字符串 "abcdzdcab",它的最长回文子串为 "cdzdc"。挑战O(n2) 时间复杂度的算法是可以接受的,如果你能用 O(n) 的算法那自然更好。标签 Expand原创 2015-08-12 20:20:49 · 1786 阅读 · 0 评论 -
LintCode-分糖果
有 N 个小孩站成一列。每个小孩有一个评级。按照以下要求,给小孩分糖果:每个小孩至少得到一颗糖果。评级越高的小孩可以得到更多的糖果。需最少准备多少糖果?您在真实的面试中是否遇到过这个题? Yes样例给定评级 = [1, 2], 返回 3.给定评级 = [1, 1, 1], 返回 3.给定评级 = [1, 2, 2], 返回原创 2015-08-11 20:52:16 · 2565 阅读 · 0 评论 -
LintCode-和大于S的最小子数组
给定一个由 n 个整数组成的数组和一个正整数 s ,请找出该数组中满足其和 ≥ s 的最小长度子数组。如果无解,则返回 -1。您在真实的面试中是否遇到过这个题? Yes样例给定数组 [2,3,1,2,4,3] 和 s = 7, 子数组 [4,3] 是该条件下的最小长度子数组。挑战如果你已经完成了O(n)时间复杂度的编程,请再试试 O(n原创 2015-08-11 20:28:02 · 2576 阅读 · 1 评论 -
LintCode-Copy Books
Given an array A of integer with size of n( means n books and number of pages of each book) and k people to copy the book. You must distribute the continuous id books to one people to copy. (You can g原创 2015-08-10 20:07:36 · 4241 阅读 · 0 评论 -
Codeforces Round #274 (Div. 2)
A:链接:http://codeforces.com/contest/479/problem/A 分析:把所有可能都尝试一遍就可以了。。。。代码:#include #include #include #include #include #include #include #include using namespace std;typedef long long ll原创 2014-10-21 10:36:50 · 1066 阅读 · 0 评论 -
Codeforces Round #277(Div. 2)
A题:http://codeforces.com/contest/486/problem/A分析:分析下奇偶就出来结果了代码:#include #include #include #include #include #include #include #include #include #include #include #include #include原创 2014-11-12 23:11:16 · 947 阅读 · 0 评论 -
Codeforces Round #221 (Div. 2)
500pt:链接:http://codeforces.com/problemset/problem/376/A分析:水题,模拟实现一下就行,要注意的是支点左右的和要用long long 来做,不然会错代码:#include #include #include #include #include #include #include #include #include原创 2013-12-25 14:47:28 · 1119 阅读 · 0 评论 -
digit classification
最近开始学习machine learning方面的内容,大致浏览了一遍《machine learning in action》一书,大概了解了一些常用的算法如knn,svm等具体式干啥的。在kaggle上看到一个练手的项目:digit classification,又有良好的数据,于是打算用这个项目把各种算法都跑一遍,加深自己对各算法的研究,该文会不断更新。。。。。。原创 2013-09-12 16:11:44 · 12183 阅读 · 1 评论 -
codeforce goodbye 2013
500pt:链接:http://codeforces.com/contest/379/problem/A分析:每b根就能再生成一根,本着不要浪费的原则就行代码:#include #include #include #include #include #include #include #include #include #include #include #i原创 2013-12-31 11:00:16 · 1027 阅读 · 0 评论 -
Codeforces Round #222 (Div. 2)
500pt:链接:http://codeforces.com/contest/378/problem/A分析:太水了。。。代码:#include #include #include #include #include #include #include #include #include #include #include #include #include原创 2013-12-30 10:03:03 · 1190 阅读 · 0 评论 -
Codeforces Round #219 (Div. 2)
500pt:题目链接:http://codeforces.com/problemset/problem/373/A分析:用一个map来记录有没有超过两倍的给定值就行代码:#include #include #include #include #include #include #include #include #include #include #includ原创 2013-12-14 10:41:38 · 1216 阅读 · 2 评论