自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 找出数组中和为N+1的的所有组合

一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。复杂度最好是O(n),如果是O(n2)则不得分方法一:排序后,定义两个指针begin,end分别指向数组的第一个和最后一个元素。然后按以下规则移动指针:1. 如果*begin + *end =

2020-03-16 19:07:31 3595 2

原创 多任务学习论文导读:Recommending What Video to Watch Next-A Multitask Ranking System

1. 摘要这篇论文提出一个视频推荐领域的大规模的多目标排序系统,该系统主要面临几个挑战:1)多个竞争关系的目标;2)用户反馈的隐式选择偏见(selective bias),隐式反馈对偏好的反映不够准确(例如播放+差评)。 本文探究了大量软-参数共享技术,例如MMoE,来有效的优化多目标排序。除此之外,本文还采用wide&deep框架来缓和选择偏见问题。并且在youtube线上环境验证了方...

2020-02-26 23:14:54 3108

原创 1209.Remove All Adjacent Duplicates in String II 简单解法

Given a string s, a k duplicate removal consists of choosing k adjacent and equal letters from s and removing them causing the left and the right side of the deleted substring to concatenate together....

2020-02-17 18:33:13 372

原创 elasticsearch常见http请求示例

创建索引curl -XPUT -H 'Content-Type: application/json' 'http://118.31.76.208:9200/test_index' -d '{ "settings":{ "index":{ "number_of_shards":3, "number_of_r...

2020-02-05 14:44:53 1479

原创 Elasticsearch嵌套对象(nested)的使用

假设我们有一份用户信息,用户信息有一个字段存储用户的社交网络帐号信息。我们知道现在每个人都会有很多SNS账户,例如:QQ,微信,微博,知乎之类。具体到每个SNS帐号,有可以包含很多信息,例如: snsType int #标识sns类型 snsName string #该sns的名称,如QQ,微信 nickname string #用户昵称 fansCnt long...

2020-02-05 14:34:42 4999

原创 elasticsearch报错: illegal argument exception, variable is not found

最近在给es升级,从es2.3.3升级到es6.0.0, 由于新版的es不支持ScriptType.FILE类型,所以打算改成STORE类型。于是按照官方文档添加script:curl -XPOST -H 'Content-Type:application/json' 'http://localhost:9200/_scripts/video_hot_score' -d '{ "script

2020-02-05 14:03:48 2221

原创 人脸识别入门到实战

本来我只是从事短视频推荐,和CV领域并没有什么交集。但是在推荐中遇到了一些问题,例如:视频打散,例如用户播放了某个网红视频,导致召回该网红的视频过多;视频标签,娱乐明星/网红/体育名人/政治人物等;版权,某个大V入驻了社区,他创作的视频知准他一个人发;但是我们当时又没有专门从事CV领域的算法工程师,考虑到CV和NLP领域很多即插即用的工具包,所以我决定自己搞定这个问题。在github上...

2020-02-05 11:54:54 831

原创 多任务学习论文导读: Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

基于神经网络的大规模多任务学习在产业界有广泛的应用,例如推荐系统。为什么现在的推荐系统会追求多任务呢?以头条类的新闻推荐为例,如果只追求点击率,那么标题党会大行其道,所以一般还会把阅读时长也作为一个目标。再比如短视频推荐,平台方更希望给用户带来更好的体验,例如长时间播放、点赞、高评分等。因此,我们可能需要针对多个目标进行建模,追求多目标之间的平衡或者共赢。借助多任务学习,我们的目标是构建一个统...

2020-02-05 09:58:44 1354

转载 Tar Argument list too long 参数列表过长的办法

如果我们想对一个目录里面的部分文件进行压缩(tar),而这个文件数量超过三万个,就会遇到标题中的问题。查了一下,好像文件数超过3万,就会报这个错。网上搜的方法一般都是用xargs来解决的,亲测并不行,压缩文件不完整。网上找了一个可行的解决办法:find . -name '*.txt' -print >/tmp/test.manifesttar -cvzf textfile...

2019-02-18 20:54:23 2919

原创 facebook向量搜索聚类faiss安装与使用示例

从这里下载相关的安装文本1. 安装fortran yum install libgfortran yum install gcc-gfortran2. 安装blas rpm -ivh blas-3.2.1-5.el6.x86_64.rpm rpm -ivh blas-devel-3.2.1-5.el6.x86_64.rpm3. 安装lapack ...

2018-10-23 16:25:44 2588

原创 IDEA一直Indexing直至无法响应

      之前一直用IDEA的社区版,最近换了U版,而且是正版激活的,结果每次打开Java项目都会在indexing, 或者Scaning file阶段卡死,IDEA的CPU占用率持续在90-100%。      尝试删除并重装Idea并不能解决这个问题,但是社区版确没问题。      继续谷歌,并尝试了各种方案,最后破釜沉舟把电脑上所有匹配"jetbrain'和'IntelliJ'的目...

2018-01-09 20:02:35 7492

原创 Spark使用小结:Java版的GroupByKey示例

Spark Java版的GroupByKey示例感觉reduceByKey只能完成一些满足交换率,结合律的运算,如果想把某些数据聚合到一些做一些操作,得换groupbykey比如下面:我想把相同key对应的value收集到一起,完成一些运算(例如拼接字符串,或者去重)public class SparkSample { private static final Pattern

2016-04-22 20:44:47 7311

原创 Spark使用小结:Java版Join操作

实现两组数据的Join操作。第一组:i, i*i第二组:i, 'a'+ijoin之后的结果是:i, i*i, 'a'+ipublic class SparkSample { private static final Pattern SPACE = Pattern.compile(" "); public static void main(String ar

2016-04-22 16:32:48 5732

原创 使用计数器在mapper和reducer之间传递参数

假设要用MR来求一堆数据的平均数,MR求和自然是很简单

2014-09-19 19:31:36 2391 1

原创 mahout中关联规则算法pfp-growth的使用以及常见错误

最近在工作中遇到一个问题:需要求几千个商品类目之间的相关性,自然而然相当了关联规则算法。由于商品类目只有几千个,所以起初并没有考虑性能问题,所以就自己实现了一个mapreduce版的Priori算法,结果用到实际数据集上就悲剧了。3000个1-频繁项目集做连接,可以得到400多万个2-候选项目集, 然后为了判断在400万中每个候选项集是不是频繁的,需要遍历700万条事务记录。然后依次求2,...

2014-08-17 17:37:16 6256 4

原创 fastjson过滤属性

//实现Propertypublic class ComplexPropertyPreFilter implements PropertyFilter { private Map, Set> includeMap = new HashMap, Set>(); //@Override public boolean apply(Object source, String name, Object

2014-07-27 15:14:09 12530

原创 ubuntu 12.04的一些问题

1. Linux开机后显示"Ubuntu is running in low-graphics mode", 点确定几步之后直接进入命令行模式,无法切换到桌面模式。    sudo apt-get update;    sudo apt-get upgrage;2. virtualbox 共享文件夹的设置    在virtualbox管理器中点击“设置”--》"共享文件夹",

2013-08-28 13:58:52 996

原创 duplicate class bad class

代码环境一直是eclipse+windows,今天第一次在linux下编写代码。出现了duplicate class, bad class, 还有什么class not contain file *******就算建一个空白类,然后new 一个对象都报错。开始以为是tomcat的.class位置出问题了,可是搞了很久都没搞定最后经人指点才知道,是package 声明忘了加了ec

2013-08-02 18:51:20 1343

转载 No Java virtual machine was found....eclipse/jre/bin/java

在Ubuntu的某些版本下,比如10.10,会出现以下奇怪问题:1. 安装jdk我下载的jdk是bin格式的,直接运行解压,得到一个文件夹。这个文件夹作为jdk的安装目录,可以拷贝到任意目录。然后配置环境变量~/.bashrc,在最后添加:export JAVA_HOME=export JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_H

2013-07-29 13:36:45 3948

转载 HtmlParser Sample1

You first have to know in what tags (div, meta, span, etc) the information you want are in, and know the attributes to identify those tags. Example : span class="price"> $7.95span>if you are l

2013-01-15 09:41:31 816

原创 不调用库函数,求sin(x)

第一首先是泰勒公式,不过公式哥不记得了,有兴趣的去查查,那个实现不难。第二递归,利用3个公式sin(x) = 2 * sin(x/2)*cos(x/2)----------------公式1cos(x) = sqrt(1 - sin(x)*sin(x))----------------公式2lim sinx = x, 当x趋向于0的时候-----------------公式

2012-10-31 18:15:06 2262 1

转载 以求医为例谈搜索引擎排序算法的基础原理

以求医为例谈搜索引擎排序算法的基础原理    (2011-1-27 08:01:02)标签:    分类:搜索技术  我们向搜索引擎提交一个查询,搜索引擎会从先到后列出大量的结果,这些结果排序的标准是什么呢?这个看似简单的问题,却是信息检索专家们研究的核心难题之一。  为了说明这个问题,我们来研究一个比搜索引擎更加古老的话题:求医。比如,如果我牙疼,应该去看怎样的医生呢

2012-10-15 15:46:37 1056

转载 搜索背后的奥秘——浅谈语义主题计算

两篇文档是否相关往往不只决定于字面上的词语重复,还取决于文字背后的语义关联。对语义关联的挖掘,可以让我们的搜索更加智能化。本文着重介绍了一个语义挖掘的利器:主题模型。主题模型是对文字隐含主题进行建模的方法。它克服了传统信息检索中文档相似度计算方法的缺点,并且能够在海量互联网数据中自动寻找出文字间的语义主题。近些年来各大互联网公司都开始了这方面的探索和尝试。就让我们看一下究竟吧。关键词:主题

2012-10-15 15:34:41 820

原创 求字符串中重复出现的最长字串

求字符串中重复出现的最长字串例如字符串:drgabcifrabcsdrrs中,最长公共字串是:abc方法:利用后缀树来求。字符串的后缀树有如下:drgabcifrabcsdrrsrgabcifrabcsdrrsgabcifrabcsdrrsabcifrabcsdrrs---------s1..............rabcsdrrsabcsdrrs----...

2012-10-08 23:00:56 1985

原创 素数和分解

一个整数可以分解成若干素数的和输入一个整数,试求出所有可能的分解#include#include#includeusing namespace std;void function(int n,int begin,vector& prime){ static vector result;//静态局部向量,不要用引用参数 if(n<0) return;

2012-10-06 17:31:55 1519

原创 求第1500个能被2或者3或者5所整除的数

方法一:暴力枚举2,3,4......,依次判断n能否被2|3|5整除,直到找到第1500个#include <iostream>//#include <string.h>using namespace std;int main(int argc, char *argv[]){ int count = 1; int i; for(...

2012-10-06 15:10:11 1966

原创 判断一个数是否是平方数

二分法#includeusing namespace std;int find(int n,int begin,int end){ if(n==0) return 0; if(begin<end) { int mid = (begin+end+1)/2;//plus is very im

2012-10-06 13:07:14 2476

转载 后缀树

http://www.cppblog.com/superKiki/archive/2010/10/29/131786.aspx  在pongba的讨论组上看到一道Amazon的面试题:找出给定字符串里的最长回文。例子:输入XMADAMYX。则输出MADAM。这道题的流行解法是用后缀树(Suffix Tree)。这坨数据结构最酷的地方是用它能高效解决一大票复杂的字符串编程问题: 在文本T

2012-10-05 21:01:03 36032 6

原创 和为n的连续子序列

输入一个正整数n,和一个正整数NUM求出1-n中所有连续子序列使得,子序列的和等于NUM#include<iostream>using namespace std;int main(){ int n,NUM; cout<<"input n = "; cin>>n; cout<<"SUM = ...

2012-10-05 16:49:44 2656 1

转载 求二维矩阵的最大子矩阵

1、使用积累数组cumarr[1...n][1...n],使得求任意块儿子矩阵和的复杂度为O(1),cumarr[i][j]为cumarr[1...i][1...j]子矩阵的和, 通过cumarr[i][j]=cumarr[i-1][j]+cumarr[i][j-1]-cumarr[i-1][j-1]计算积累数组,复杂度为O(N*N),2、枚举+dp 对矩阵的行枚举,确定矩...

2012-10-05 09:44:27 2686

原创 N个骰子点数之和的分布

将N个均匀的骰子,扔在地上,求点数之和的分布。因为是分布,自然是求N个筛子之和等于M的概率,p(m)p(m) = fre(n,m)/sumfre(n,m)是指n个骰子扔出m个点数的 总的可能情况,这个就相当于组合数,只是限制了每个骰子的点数在1-6之间。sum是n个骰子扔地上所有可能情况之和。因为每个骰子可能的点数在1-6之间,所以n个骰子组合的点数在n和6n之间,总共5...

2012-10-04 15:21:44 7795 3

转载 vector的内存释放

http://www.cnblogs.com/summerRQ/articles/2407974.htmlvector : C++ STL中的顺序容器,封装数组 1. vector容器的内存自增长 与其他容器不同,其内存空间只会增长,不会减小。先来看看"C++ Primer"中怎么说:为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元

2012-09-29 23:29:53 1605

原创 有序数组转化为二叉树

这个题目有点模棱两可,只说转化成二叉树。也没有说平衡二叉树,二叉排序树。如果只是随便什么二叉树都可以,把就用数组作为输出,随便是前序,中序,还是后续构建二叉树都可以,网上二叉树建立的代码一大堆。下面代码是简历一棵二叉排序树。首先用数组的中间元素作为根建立二叉树,然后递归简历左子树,右子树。#include<iostream>#include<...

2012-09-29 12:45:56 8458 2

原创 0-1背包问题

只解释一下递推公式m[i][j] = max(m[i-1][j],m[i-1][j-w[i]]+v[i])m[i][j]表示,前i个物体装进最大容量为j的包里能获得的最大价值,如果这个解不包括 i 物体,那么就等于m[i-1][j],即前i-1个物体放入容量为j的包里锁获得的最大价值;如果包括 i 物体,那么就等于m[i-1][ j-w[i] ] +v[i], 要能把物体i放进去,...

2012-09-27 15:07:16 867

转载 N的拆分

#include#includeusing namespace std;void Sum(int sum, vector& v){ if(sum == 0) {        vector::iterator ite;        for(ite = v.begin(); ite != v.end(); ++ite)        {

2012-09-27 11:54:30 2317

原创 RGB序列

题目:如果一个字符串是由RGB三个字母随机组成的,那么试将所有的R移动到字符串的左端,B移动到右端,G在中间。方法:本题跟将一个数组的奇数偶数分开,或者正数负数分开类似。起初可以将GB看成一种情况,讲R和GB分别放在左右两端,然后再将GB分开。#includeusing namespace std;int main(){ char str[] = "RRRBGBGGGBBB

2012-09-26 21:33:27 1163

转载 最大连续子序列乘积

问题描述:给定一个整数序列(可能有正数,0和负数),求它的一个连续最大子序列乘积,如果乘积为负数,输出-1分析:假设数组为a[],直接利用动归来求解,考虑到可能存在负数的情况,我们用Max[i]来表示以a[i]结尾的最大连续子序列的乘积值,用Min[i]表示以a[i]结尾的最小的连续子序列的乘积值,那么状态转移方程为: Max[i]=max{a[i], Max[i-1]*a[i]...

2012-09-25 10:41:30 5087

原创 删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)符转化为1个。

删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)符转化为1个。写的不是很简洁,有好几处需要特别注意的地方方法:2个指针,space指向第一个空格,letter指向space之后的第一个字母,然后把letter指向的字母复制到space指向的空格。这里要注意几个地方:1. 因为2个单词之间要空一个空格,所以复制之前要space++,不然一个空格都没有了

2012-09-14 10:17:05 4645 1

原创 字符串移动(字符串为*号和26个字母的任意组合,把*号都移动到最左侧,把字母移到最右侧并保持相对顺序不变),要求时间和空间复杂度最小

字符串移动(字符串为*号和26个字母的任意组合,把*号都移动到最左侧,把字母移到最右侧并保持相对顺序不变),要求时间和空间复杂度最小 如果没有要求保证字母相对顺序不变的话,那么这题用2个双端指针,往中间移动交换元素是最简单的,但是这种移动有跳跃性,所以无法保证相对次序方法见注释:主要思想是,用一个point指针指向尾部的第一个*,从后从point除法,用指针let指向poi

2012-09-13 23:00:51 4430 3

原创 有一个单向循环链表,从头开始报数,报到m或者m的倍数的元素出队。根据出队的先后顺序再组成一个单向循环链表。

有一个单向循环链表,从头开始报数,报到m或者m的倍数的元素出队。根据出队的先后顺序再组成一个单向循环链表。函数的原型:void reorder(Node **head,int m);个人以为,这题目是约瑟夫环的变种。方法就是沿循环链表依次报数,报到编号能被m整除的,就把这个节点从原链表中删除,链接到新的链表中去。循环终止的条件,就是只剩下最后一个节点,即:p->next == p

2012-09-13 18:27:08 19654

空空如也

空空如也

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

TA关注的人

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