`
linest
  • 浏览: 150608 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论
文章列表

读代码-KMeansDriver

package org.apache.mahout.clustering.kmeans; public class KMeansDriver extends AbstractJob kmeans的入口KMeansDriver类 run函数中buildClusters,clusterData Path clustersOut = buildClusters(conf, input, clustersIn, output, measure, maxIterations, delta, runSequential); if (runClustering) { ...
package org.apache.mahout.text;目的:目录下文本文件转成sequence格式 main函数入口SequenceFilesFromDirectory类 三个基本项,fs  writer 和 filter FileSystem fs = FileSystem.get(conf); ChunkedWriter writer = new ChunkedWriter(conf, Integer.parseInt(options.get(CHUNK_SIZE_OPTION[0])), output); SequenceFilesFromDirectory ...

读代码-InputMapper

package org.apache.mahout.clustering.conversion; 目的:读取输入转换成vector输出 private static final Pattern SPACE = Pattern.compile(" "); private Constructor<?> constructor; 用反射加载vector类 Configuration conf = context.getConfiguration(); String vectorImplClassName = conf.get("vector ...

文档格式

最近用在windows下编写的python脚本进行linux下hive streaming时会报错。 文件格式导致诡异错误。 在vi下  set ff? 看是否显示为dos 如果是dos说明是windows环境下的 执行set ff=unix 修改

诡异的溢出利用

不用加减运算符实现输入x输出x-1 利用两次溢出,溢出后为0跳出循环。 int f(int x) { int tmp = 1; int res = 0; for(int i=x; i ; ++i) tmp++; for(int i = tmp; i ; ++i) res++; return res; } int main(void) { cout<<f(6)<<endl; }

Shell多行注释

利用here document :表示空语句,这样就实现了多行注释 :<<BLOCK ....注释内容 BLOCK

磁盘使用

$du -sh /home/linest/* | sort -rn 272M    /home/linest/mahout 145M    /home/linest/mrs_std 96K     /home/linest/all_auction_category.txt 60K     /home/linest/hive_log 48M     /home/linest/tools 40K     /home/linest/cluster_result.txt 32K     /home/linest/hive-config-old 20K     /home/linest/hive-conf ...

数组的sizeof

用sizeof时,作为参数传递的数组退化成指针,结果是4. 非参数时结果是100. int getSize(char a[100]) { return sizeof(a); } int main(void) { char ch[100]; cout<<sizeof(ch)<<endl; cout<<getSize(ch)<<endl; } 用数组的引用可以解决退化问题,但维数必须指定,这样一来维数定死,也不太好用 int getSize(char (&a)[100]) { return ...

extern

参考了网上资料总结一下 1.extern 只是声明,并不是定义,没有分配内存空间。 2.标有 extern 是告诉编译器被修饰的可以在本模块或外部模块使用,相反 static 只能本模块使用 3.extern C 结果:实现C++与C及其它语言的混合编程。 4.extern C 原因:C++有重载的概念,采用了mangled name的机制,给每一个重载版本生成不同名字,一般是函数名加上类型名。如void foo( int x, int y );可能在C下生成_foo,在C++下生成_foo_int_int 5.用法: (1)在C++中引用C语言中的函数和变量,在C++包含C语言头文件时 ...

设置环境变量

临时设置  export PATH=$PATH:路径 永久设置  对所有用户: 修改 /etc/profile 加入 export PATH="$PATH:路径" 对单个用户: 修改 ~/.bashrc 加入 export PATH="$PATH:路径" 修改文件后执行 source .bashrc 或重启即可生效 用echo $PATH可以检验

pat-1015 Reversible Primes

    博客分类:
  • pat
 
将数字转成指定进制,再反序,判断原数和新数是否都是质数。 注意质数判断时要有等号,如25的平方根5,注意0和1的特判。 本题中,进制转换和反序可以一次完成。 #include<iostream> using namespace std; #include<math.h> bool isPrime(int n) { if(n==1||n==0) return false; for(int i=2;i<=sqrt((double)n);i++) if(n%i==0) return false; return true; ...
给出m个城镇,两两间距离,问最短路能全连通的路程。 最小生成树,基本并查集问题。贪心,总取最短的路尝试,如果两点不在一起则连通。 kruskal 算法。 #include<iostream> using namespace std; #include<vector> #include<memory.h> #include<algorithm> struct Road { int start; int end; int dis; }; bool compare(Road a,Road b) { retu ...

05 复试 畅通工程

    博客分类:
  • acm
给出m个城镇,n条路,问还需修几条路才能连通所有城镇。 基本并查集问题 #include<iostream> using namespace std; #include<memory.h> int city[1001]; int find(int pos) { if(city[pos]==-1) return pos; return city[pos]=find(city[pos]); } int merge(int a,int b) { int roota=find(a); int rootb=find(b); ...

06 复试 简单计算器

    博客分类:
  • acm
读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 样例输入 1 + 2 4 + 2 * 5 - 7 / 11 0 样例输出 3.00 13.36 思路:由于是非负数参与,将运算符转化成负数,便于存储处理。 先扫描一遍将所有乘除法解决,废弃的内容标记成一个负数。再扫描一遍运算加减法。 #include<iostream> using namespace std; #include<vector> #include<stdio.h> #include<map> vector<double> ...

ZOJ-3168 字符串

    博客分类:
  • acm
3168:将给定的字符串排列为先Z再O再J再7,然后是剩余部分。 Sample Input t7ZJ7OhO7B7O7irZtOhZdayJ77 Sample Output ZZZOOOOJJ7777777thBirthday 思路:实际上没有排序,先统计,再过滤了一次。 #include<iostream> using namespace std; #include<string.h> char str[1001]; int main() { int countZ; int countO; int countJ; int ...
Global site tag (gtag.js) - Google Analytics