最关键内容:
判断某一位置是否是1的一个方法(可以跳过0,所以比全部位置循环一遍效率高),v&=(v-1);
例如: 01 000 000 &(01 000 000 - 00 000 001)= 01 000 000 &00 111 111 = 0。
int bit_count(unsigned int n) { int count; for(count = 0; n; n &= n - 1) { count++; } return count; }
原题是:“对于一个字节(8bit)的无符号整型变量,求其二进制表示中1的个数,要求算法的执行效率尽可能的高”
(1)第一种方法是通过对这个数字N求余数,如果求余后有余,那么表示当前位置有一个1,否则便没有。然后N=N/2
(2)第二种方法其实思想和第一种方法差不多,只不过N=N/2 改用移位来运算:N>>=1;然后用N 同1进行“与”运算,来判断末尾是否为1,如果N的二进制形式末尾有 1,则“与”结果为1,否则为0. 方法(1)和(2)的时间复杂度都为O(log2 N),因为N是以2的指数速度递减的。
(3)第三种方式,比较巧妙。
(4)效率最高应该是第五种方法,呵呵,他比较变态的将“0-255”的每个数二进制形式的“1”的个数保存成了一个数组,然后直接返回个数,时间复杂度为O(1).
但是如果对于一个字节的无符号整形变量还好,只有256个数字,但是如果对于32位的整形,这明显就不可取了。
扩展问题:“给定两个正整数(二进制形式表示)A和B,问把A变成B需要改变成多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?”
要解此题,引入A和B的异或运算再合适不过了,如果对于两个操作数按位异或,可以使得两个操作数中相同的“位”置为0,不同的“位”置为1.
所以对于两个二进制如果异或,他们之间不相同的位置将会被标记出来(即置为1)。
方法1 ,最基本的用除法/2和%2来运算
#include "stdafx.h" #include using namespace std;
int _tmain(int argc, _TCHAR* argv[]) {
BYTE c; int a; cin>>a; c=(BYTE)a; int cnt=0; while(c) { if(c%2==1) { cnt++; } c/=2; } cout<
::system("pause"); return 0; }
方法2 ,使用位操作
#include "stdafx.h" #include
using namespace std;
int _tmain(int argc, _TCHAR* argv[]) {
BYTE c; int a; cin>>a; c=(BYTE)a; //注意直接scanf("%d",&c);会内存错误,原因是将一个整形放入char型中越界了 int cnt=0; while(c) { if(c&0x01 ) { cnt++; } c>>=1; } cout<
::system("pause"); return 0; }
方法3 ,判断某一位置是否是1的一个方法,v&=(v-1);
最经典:
位操作比除、余操作的效率高了很多。但是,即使采用位操作,时间复杂度仍为O(log2v),log2v为二进制数的位数。那么,还能不能再降低一些复杂度呢?如果有办法让算法的复杂度只与"1"的个数有关,复杂度不就能进一步降低了吗?
同样用10 100 001来举例。如果只考虑和1的个数相关,那么,我们是否能够在每次判断中,仅与1来进行判断呢?
为了简化这个问题,我们考虑只有一个1的情况。例如:01 000 000。
如何判断给定的二进制数里面有且仅有一个1呢?可以通过判断这个数是否是2的整数次幂来实现。另外,如果只和这一个"1"进行判断,如何设计操作呢?我们知道的是,如果进行这个操作,结果为0或为1,就可以得到结论。
如果希望操作后的结果为0,01 000 000可以和00 111 111进行"与"操作。
这样,要进行的操作就是 01 000 000 &(01 000 000 - 00 000 001)= 01 000 000 &00 111 111 = 0。
因此就有了解法三的代码:
循环中直接计算1的数量(即后面的方法3) 如何只数'1'的个数?如果一个数字至少包含一个'1'位,那么这个数字减1将从最低位开始依次向高位借位,直到遇到第一个不为'0'的位。依次借位使得经过的位由原来的'0'变为'1',而第一个遇到的那个'1'位则被借位变为'0'。 36 d = 100100 b 36-1 d = 100011 b 如果最低位本来就是'1',那么没有发生借位。 现在把这2个数字做按位与:n & (n-1)的结果是什么? 2个数字在原先最低为'1'的位以下(包括这个位)的部分都不同,所以结果是保留了其他的'1'位。 36 & (36-1) d = 100000 b 这个结果刚好去掉了最低的一个'1'位 int bit_count(unsigned int n) { int count; for(count = 0; n; n &= n - 1) { count++; } return count; }
由于直接跳过'0'位,这个方法比上面的要略微快一些。
#include "stdafx.h" #include using namespace std;
int _tmain(int argc, _TCHAR* argv[]) {
BYTE c; int a; cin>>a; c=(BYTE)a; //注意直接scanf("%d",&c);会内存错误,原因是将一个整形放入char型中越界了 int cnt=0; while(c) { c&=(c-1); cnt++; } cout<
::system("pause"); return 0; }
方法4 ,打表
根据以下程序打表:
#include "stdafx.h" #include #include using namespace std; //打表 int table[]= { 0,1,1,2,1,2, 2,3,1,2
}; int _tmain(int argc, _TCHAR* argv[]) { ::freopen("data.txt","w",stdout);
int k=0; for(int i=0;i<256;i++) { int t=i;//注意必须重新保存i来进行更新,因为后面代码更新了i k++; int cnt=0; while(t) { if(t%2==1) { cnt++; } t/=2; } cout< if(k%10==0) cout< }
/* BYTE c; int a; cin>>a; c=(BYTE)a; //注意直接scanf("%d",&c);会内存错误,原因是将一个整形放入char型中越界了 cout<
*/ //::system("pause"); return 0; }
真正的程序代码,这应该是最快的代码了,因为是打表所以有O(1)。
#include "stdafx.h" #include #include #include using namespace std; //打表 int table[]= { 0,1,1,2,1,2,2,3,1,2, 2,3,2,3,3,4,1,2,2,3, 2,3,3,4,2,3,3,4,3,4, 4,5,1,2,2,3,2,3,3,4, 2,3,3,4,3,4,4,5,2,3, 3,4,3,4,4,5,3,4,4,5, 4,5,5,6,1,2,2,3,2,3, 3,4,2,3,3,4,3,4,4,5, 2,3,3,4,3,4,4,5,3,4, 4,5,4,5,5,6,2,3,3,4, 3,4,4,5,3,4,4,5,4,5, 5,6,3,4,4,5,4,5,5,6, 4,5,5,6,5,6,6,7,1,2, 2,3,2,3,3,4,2,3,3,4, 3,4,4,5,2,3,3,4,3,4, 4,5,3,4,4,5,4,5,5,6, 2,3,3,4,3,4,4,5,3,4, 4,5,4,5,5,6,3,4,4,5, 4,5,5,6,4,5,5,6,5,6, 6,7,2,3,3,4,3,4,4,5, 3,4,4,5,4,5,5,6,3,4, 4,5,4,5,5,6,4,5,5,6, 5,6,6,7,3,4,4,5,4,5, 5,6,4,5,5,6,5,6,6,7, 4,5,5,6,5,6,6,7,5,6, 6,7,6,7,7,8 }; int _tmain(int argc, _TCHAR* argv[]) { BYTE c;//BYTE类型必须导入#include int a; cin>>a; c=(BYTE)a; //注意直接scanf("%d",&c);会内存错误,原因是将一个整形放入char型中越界了 cout<
::system("pause"); return 0; }
转载于:https://my.oschina.net/alphajay/blog/28709
你可能感兴趣的:(求二进制中1的个数)
向内而求
陈陈_19b4
10月27日,阴。阅读书目:《次第花开》。作者:希阿荣博堪布,是当今藏传佛家宁玛派最伟大的上师法王,如意宝晋美彭措仁波切颇具影响力的弟子之一。多年以来,赴海内外各地弘扬佛法,以正式授课、现场开示、发表文章等多种方法指导佛学弟子修行佛法。代表作《寂静之道》、《生命这出戏》、《透过佛法看世界》自出版以来一直是佛教类书籍中的畅销书。图片发自App金句:1.佛陀说,一切痛苦的根源在于我们长期以来对自身及外
今日联对0306
诗图佳得
自对联:烟销皓月临江浒,水漫金山荡塔裙。一一肖士平2020.3.6.1、试对肖老师联:烟销皓月临江浒,夜笼寒沙梦晚舟。耀哥求正2、试对萧老师联:烟销浩月临江浒,雾散乾坤解汉城。秀霞习作请各位老师校正3、自对联:烟销皓月临江浒,水漫金山荡塔裙。一一肖士平2020.3.6.4、试对肖老师垫场联:烟销皓月临江浒,雾锁寒林缈葉丛。小智求正[抱拳]5、试对肖老师联:烟销皓月临江浒;风卷乱云入峰巅。一一五品6
苦,是因为爱上了某样东西
阿梅心理咨询师
佛法里面一直强调,“我执”,苦,是因为陷入了“我执”,我喜欢某样东西,陷入了求不得之苦,我不喜欢我的长相,外貌,身材,因为我想要更美,陷入了“我不美”的执念。我想要考个好成绩,因为我想要进入某所大学,所以开始焦虑。我想要找个男朋友,想要拥有一段美丽的爱情,所以陷入了“情执”。这些想,都是因为求不得。求不得,所以苦。因为爱之切,所以陷入僵局。其实这些念,佛家讲都是虚妄的。可是好多人不自知。依旧寻寻觅
趁吾身未老
逍遥书生111
趁吾身未老池非2020年,一场突如其来的新冠脑炎疫情,打破了原有的状态。工作与生活的轨迹发生了不确定的变化。01因为隔离防疫,正常的教学不能进行,线上网课成为教学的新形式,年过五十的我面对新的教学形式有些应不暇。只得退而求次,不再负责高考班级的课程。这样,就不用上网课做直播了。感觉很轻松很闲的同时,也感觉到了英雄迟暮。不得不承认,老了。该交班了。因为不能出门,整天呆在家里,一开始还很兴奋,终于可以
2021 CCF 非专业级别软件能力认证第一轮(CSP-J1)入门级C++语言试题 (第三大题:完善程序 代码)
mmz1207
c++ csp
最近有一段时间没更新了,在准备CSP考试,请大家见谅。(1)有n个人围成一个圈,依次标号0到n-1。从0号开始,依次0,1,0,1...交替报数,报到一的人离开,直至圈中剩最后一个人。求最后剩下的人的编号。#includeusingnamespacestd;intf[1000010];intmain(){intn;cin>>n;inti=0,cnt=0,p=0;while(cnt#includeu
利用等价无穷小替换求极限(二)
肇事小姐
2limx➡️0((1-cosx)/x^2)分析:当x➡️0时,cosx➡️1,故此极限其实满足0/0的形式故第一感觉可以用洛必达法则求解,分子求一次导=sinx,分母求一次导=2x分子、分母求2次导数分别=cosx,=2,故最后答案=1/2另一种方法,考虑将1-cosx视作整体,用等价无穷小替换。利用1-cosx~2(sin(x/2)^2)推导cosx=cos(x/2+x/2)利用三角和差公式=
苦与甜
天天天很蓝lwy
佛说有人生有七苦:生、老、病、死,怨憎会、爱别离、求不得。没有人会追求苦难,因为我不是佛。我做不到,像佛一样割肉喂鹰。做不到,他一样去经历六道轮回。我发现,我能够做到和改变的就是面对苦难的心境。希望有一天,面对所谓的苦,我能够甘之如饴。希望有一天,我能够成为积极主动有选择的人。不因外物改变自己的心境。少说一些,不得不,必须。多说一些,我能够,我希望,我可以。图片发自App
底层逻辑之复利
音匀的生活札记
本金↑(1+收益率)时间-欲望=财富自由理解了真正的“复利公式”,以及获得财富自由的三种方法——“无欲无求式财富自由”“三生三世式财富自由”和“第一桶金式财富自由”后,得出结论:早期靠本金,后期靠复利。最后,给大家几点建议:一是尽早存到足够的本金。获得财富自由的第一重要的事,是培养赚钱的能力。赚钱要靠本金,而不是靠复利。你都没有本金,哪来的钱生钱呢?二是努力做到稳健高收益。找到高收益的投资不难,识
【高中数学/三角函数/判别式法求极值】已知:实数a,b满足a^2/4-b^2=1 求:3a^2+2ab的最小值
普兰店拉马努金
高中数学之三角函数 高中数学 三角函数 判别式
【问题】已知:实数a,b满足a^2/4-b^2=1求:3a^2+2ab的最小值【来源】App"网易新闻"中up主“我服子佩”的数学视频专辑,据其称是北京市某年的竞赛题。【解答】由a^2/4-b^2=1,联想到secθ^2-tanθ^2=1故设a/2=1/cosθ,b=sinθ/cosθ将a=2/cosθ,b=sinθ/cosθ代入3a^2+2ab得f(θ)=(12+4sinθ)/(1-sinθ^2
郭生白中药方论之二(破除温凉寒热的框框)
本能学堂a昨年
离病说药茫茫然,对症下药不着边。顺势利导一乘法,排异调节渡法船。无限整合非模糊,模糊病区得清楚。共性之外求个性,亲和不生抗药性。温凉寒热巧方便,君臣佐使筏喻焉。药包大小折中看,毒性有无一念间。导读破除温凉寒热的框框寒热温凉是基于中药共性的传统分类药无寒热人有寒热药无寒热病有寒热抛弃温凉不并用的错误观念寒热温凉是基于中药共性的传统分类寒热温凉是个共性,是说的共性。这个共性,知道什么叫共性吗?所有的药
《论语》日日谈 34期
wuhuaping9807
《论语》日日谈第34期本章为《论语》:公冶长篇第八章【原文】孟武伯问:“子路仁乎?”子曰:“不知也。”又问。子曰:“由也,千乘之国,可使治其赋也。不知其仁也。”“求也何如?”子曰:“求也,千室之邑,百乘之家,可使为之宰也①,不知其仁也。、赤也何如②?”子曰:“赤也,束带立于朝,可使与宾客言也。不知其仁也。”【注释】①宰:古代县、邑一级的行政长官。卿大夫的家臣也叫宰。②赤:公西赤,字子华,孔子的学生
【读书摘录·小窗幽记】世间最美读书声
云儿读书吧
图片源自网络1、松声,涧声,山禽声,夜虫声,鹤声,琴声,棋子落声,雨滴阶声,雪洒窗声,煎茶声,皆声之至清,而读书声为最。2、好读书非求身后之名,但异见异闻,心之所愿。是以孜孜搜讨,欲罢不能,岂为声名劳七尺也。3、人生斯世,不能读尽天下秘书灵笈。有目而昧,有口而哑,有耳而聋,而面上三斗俗尘,何时扫去?4、春夜宜苦吟,宜焚香读书,宜与老僧说法,以销艳思。夏夜宜闲谈,宜临水枯坐,宜听松声冷韵,以涤烦襟。
2021-04-06
四叶草_add9
中原焦点团队李金梅坚持分享第549天2021.4.6凌晨两点多忽然被乳腺疼痛惊醒,上完课后我便去了医院,结果显示三级,预约了穿刺。乳腺疾病与情绪和压力紧密相关,看来是身体向我发出信号了,果真比大脑更智慧。但愿这个信号发的并不算迟,给自己减减压,面对孩子,从心底里接纳吧!面对工作,不用精益求精,尽力就好。
大学时期的自我探索之路
Hello芒果
大学的时候,我主要是通过两种方式来加深对自己的了解。第一种,就是让朋友同学对我进行评价。我曾经在朋友圈让大家写下关于我的三个关键词,也曾经制作一个简单的问卷,让大家告诉我他们所认识的芒果是一个什么样的人。我的这种方式是外求。可以说,当局者迷,看不清自己,也可以说,我不够自信,需要从他人的眼里看到自己的优点和特点。其实朋友们大部分都给我给予的是好评,我记得那些好评和领导组织能力、动静皆宜、乐于助人、
我的小宝
莹潼
我家的小宝,在我们家人辛苦并着快乐的陪伴下,已经一岁九个半月啦!想想她出生的时候,好像就是在昨天!一个黑黑小小的人儿!现在的小宝,已经会一边飞快的向我奔跑,一边喊着“妈妈!妈妈!”。而且是用着不同的语调喊!很多时候都让我觉得这个宝宝,怎么能这么的可爱呢!现在的小宝,因为做错事情被我责备的时候,会撇着嘴巴,做委屈样。然后哇哇大哭!再然后就喊着“爸爸爸爸……”求抱抱!可能老爸是最宠她的!停下来之后,又
【LeetCode 算法笔记】84. 柱状图中最大的矩形
Sardar_
算法 leetcode 笔记
目录问题描述暴力求解:栈问题描述给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。求在该柱状图中,能够勾勒出来的矩形的最大面积。示例1:输入:heights=[2,1,5,6,2,3]输出:10解释:最大的矩形为图中红色区域,面积为10示例2:输入:heights=[2,4]输出:4提示:1int:area=0n=len(heights)foriinrange(n):
《弃妃要和离,矜持王爷失控了》花芊芊离渊全文免费阅读
海边书楼
《弃妃要和离,矜持王爷失控了》花芊芊离渊全文免费阅读主角:花芊芊离渊简介:前世,她为家人付出一切,却被人弃之敝履。重生后,她果断与眼盲心瞎的丈夫和离,与相府断绝关系。斗婊虐渣,从一个弃妇摇身一变成了各个大佬争相宠爱的国宠。带着疼爱她的外祖一家青云直上。曾经对她弃之敝履的哥哥和前夫们纷纷后悔了,排队求原谅。当发现前一世一直救她护她的人,竟然是她的“大表哥”时,她红了眼,紧紧搂着那人不撒手。欲拒还迎的
自己看---华为od--构成正方形的数量
我狠狠地刷刷刷刷刷
华为od 算法
题目描述输入N个互不相同的二维整数坐标,求这N个坐标可以构成的正方形数量。[内积为零的的两个向量垂直]输入描述第一行输入为N,N代表坐标数量,N为正整数。N<=100之后的N行输入为坐标xy以空格分隔,x,y为整数,-10<=x,y<=10输出描述输出可以构成的正方形数量。用例1输入3132431输出0用例2输入40012312-1输出1N=int(input())coords=[input()f
洛谷P2865 [USACO06NOV] Roadblocks G【C++解法】【次短路问题】
#Dong#
c++ 算法 数据结构 图论
/*求次短路问题【spfa解法】本题思路:1.用spfa做,用d1记录从1到n所有点距离点1的最短距离,用d2记录从n到1所有点距离点n的最短距离那么此时d1[n]即为1到n点的最短距离2.遍历每个顶点x,找到它们所指向的点y,利用d1[x](x距离1的最短距离)+d2[y](y距·离n的最短距离)+w[i](x和y的边的权值)因为次短路一定严格大于最短路,而且又是除了最短路以外最小的那个,所以利
直播带货别被坑!
一个小小的群众
我见过好多的厂家说曾经做淘宝亏了钱,不想做天猫更不想去接触直播带货没什么意义我也见过好多的厂家说你直播带货能帮我卖出多少销量等我也见过部分的品牌方说我的产品现在工厂已经做的供不应求了,我没有必要再去做直播带货销售我的产品直播带货除了我们易懂的增加销量之外究竟还有什么奥妙呢?[if!supportLists]1.[endif]新型广告投放,做过广告的品牌或厂家,投入10w的广告,请几十万的明星代言或
P2865 [USACO06NOV]路障Roadblocks
dianshu0741
次短路模板题吧题意已经非常裸了:求无向图的1到n次短路。直接套用最短路(dijkstra)的主要框架。但在这个的基础上添加另外一个数组dist2。走到一条边的时候来三个判定:dist[u]+weightdist[v]&&dist[u]+weightrhs.d;}};voidlink(intu,intv,intw){e[++tot]=(Edges){head[u],v,w};head[u]=tot;
2022-06-22
文菲斯特
疫情下企业招聘难,HR如何应对2020年,突如其来的疫情打乱了人们所有的节奏,由于疫情的反复,影响了几乎所有企业的运营,甚至打乱了招聘用工的节奏。过去经济形势好的时候人才供大于求,作为企业方有足够的挑选余地,然而在疫情之下,人才市场悄然发生了一变化。因为疫情对应聘人员的影响往往是多维度的,最明显的就是流动意愿性降低,潜在候选人的求职意愿明显受疫情影响而下降,候选人求职时对企业性质更为关注(如国企)
元宵节 文/正一水
正一水
今夜月圆不羡天身边更比月儿圆扶老携幼手儿牵举家同赏花灯前须正月十五之夜满城的灯笼红妆素裹分外妖娆数开年喜事还看灯节——元宵君可见,耍龙灯银龙游走从天降带给人间满吉祥字谜灯,状元郎童叟须臾文中客腹有诗书晒才华孔明灯,天上行祈福纳祥追流星许愿求财准保灵红灯笼,人也红红红串串穿幸福今夜中国万里红明年更比今年红!2019年2月19日(元宵节)
论语学习第111天,6.12力不足者,中道而废
流水王丽霞
学妹读经一字一句读《论语》,第111天原文阅读:6.12冉求曰:“非不说(yuè)子之道,力不足也。”子曰:“力不足者,中道而废;今女画。”译文讲解:冉求说:不是我不乐意追随先生的思想学说,实在是自己实力不足。孔子说:实力不足,是走到半途走不动才止步,而如今你是走都没走,就打起了退堂鼓。启发思考:冉求是个实干家,具有政治才能,而且多才多艺,前边季康子问政的时候孔子是肯定他了。然而,他性格偏弱偏柔,
1.6编程基础之一维数组
伶俐角少儿编程
C++入门篇 算法 c++ 数据结构
文章目录01:与指定数字相同的数的个数02:陶陶摘苹果03:计算书费04:数组逆序重放05:年龄与疾病06:校门外的树07:有趣的跳跃08:石头剪刀布09:向量点积计算10:大整数加法11:大整数减法12:计算2的N次方13:大整数的因子14:求10000以内n的阶乘15:阶乘和01:与指定数字相同的数的个数总时间限制:1000ms内存限制:65536kB描述输出一个整数序列中与指定数字相同的数的
有缘而来,无缘而去
天边一朵云_GD
图片发自App有缘而来,无缘而去。人间诸事,该来的自然会来,不该来的盼也无用,求也无益。有缘,不推,无缘,不求。来的,欢迎,去的,目送。一切随缘,顺其自然。人世间的事情勉强终归不能如意,强求势必不会甜蜜。我们能做的就是做好自己,世事如此,努力无悔,尽心无憾。说不清这是淡然处事还是不求进取,是顺其自然还是逆来顺受,角度不同,看法各异。
铺垫
JS人生
人要活的好,铺垫很重要。假设:我们要请朋友帮个忙,直接说出来要帮什么,虽然简单直接,但对方拒绝、推脱的几率也大。那就请帮忙前多孰若下关系,增进感情,再开口求帮忙。销售时更是如此,先别暴露你的价格,说了价格,后续的交流就是再说服对方,让其接受这个价格。而应该先让对方明白自己是有多需要这样东西,它能带个自己什么好处,再报价格,以及后续的逼单。知道道理刻意练习
Java:数学相关类
昭关969
java 开发语言
Math类Math类是数学工具类,用于数学计算,构造方法是私有的,方法都是静态的,因此直接类名调用staticintabs(inta)求参数绝对值staticdoubleceil(doublea)向上取整staticdoublefloor(doublea)向下取整staticlonground(doublea)四舍五入staticintmax(inta,intb)求较大值staticintmin(
记录生活第552天,2023-04-08
快乐姐星球
日行一记去年诺贝尔奖经济学奖得主所做的研究就证明:读名校的孩子并不一定比读普通学校的孩子未来更好,但长期坚持读书与学习,确实可以给未来带来更多的收益。生命不是短跑,生命其实是马拉松,而这个马拉松一定是那些有坚强耐力的人才能跑得最远、跑得最好,而不是那些起跑很快,却半路“夭折”的人。像这样的例子其实也挺多的,所以我们作为家长向远看、向前看,向将来看齐。【弟子规】晨读打卡第80天心有疑随札记就人问求确
js进阶第二天
LIT乐言
一、水平滚动条和垂直滚动条Snip20161124_1.png1.1核心技术点1)求滚动条的长度?2)拖动滚动条,求内容要走多少?滚动条的长度取决于滚动内容(滚动内容越长,滚动条越短);内容滚动的距离和滚动条走的距离是成倍数关系。1.2换算公式获取滚动条的长度:**滚动条的长度/盒子的长度=盒子的长度/内容的长度**滚动条长度=(盒子的宽度/内容的宽度)*盒子的宽度拖动滚动条,求内容走的长度:**
Dom
周华华
JavaScript html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
【Spark九十六】RDD API之combineByKey
bit1129
spark
1. combineByKey函数的运行机制
RDD提供了很多针对元素类型为(K,V)的API,这些API封装在PairRDDFunctions类中,通过Scala隐式转换使用。这些API实现上是借助于combineByKey实现的。combineByKey函数本身也是RDD开放给Spark开发人员使用的API之一
首先看一下combineByKey的方法说明:
msyql设置密码报错:ERROR 1372 (HY000): 解决方法详解
daizj
mysql 设置密码
MySql给用户设置权限同时指定访问密码时,会提示如下错误:
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number;
问题原因:你输入的密码是明文。不允许这么输入。
解决办法:用select password('你想输入的密码');查询出你的密码对应的字符串,
然后
路漫漫其修远兮 吾将上下而求索
周凡杨
学习 思索
王国维在他的《人间词话》中曾经概括了为学的三种境界古今之成大事业、大学问者,罔不经过三种之境界。“昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境界也。“衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也。“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境界也。学习技术,这也是你必须经历的三种境界。第一层境界是说,学习的路是漫漫的,你必须做好充分的思想准备,如果半途而废还不如不要开始。这里,注
Hadoop(二)对话单的操作
朱辉辉33
hadoop
Debug:
1、
A = LOAD '/user/hue/task.txt' USING PigStorage(' ')
AS (col1,col2,col3);
DUMP A;
//输出结果前几行示例:
(>ggsnPDPRecord(21),,)
(-->recordType(0),,)
(-->networkInitiation(1),,)
web报表工具FineReport常用函数的用法总结(日期和时间函数)
老A不折腾
finereport 报表工具 web开发
web报表工具FineReport常用函数的用法总结(日期和时间函数)
说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd。而且必须用英文环境下双引号(" ")引用。
DATE
DATE(year,month,day):返回一个表示某一特定日期的系列数。
Year:代表年,可为一到四位数。
Month:代表月份。
c++ 宏定义中的##操作符
墙头上一根草
C++
#与##在宏定义中的--宏展开 #include <stdio.h> #define f(a,b) a##b #define g(a) #a #define h(a) g(a) int main() { &nbs
分析Spring源代码之,DI的实现
aijuans
spring DI 现 源代码
(转)
分析Spring源代码之,DI的实现
2012/1/3 by tony
接着上次的讲,以下这个sample
[java]
view plain
copy
print
for循环的进化
alxw4616
JavaScript
// for循环的进化
// 菜鸟
for (var i = 0; i < Things.length ; i++) {
// Things[i]
}
// 老鸟
for (var i = 0, len = Things.length; i < len; i++) {
// Things[i]
}
// 大师
for (var i = Things.le
网络编程Socket和ServerSocket简单的使用
百合不是茶
网络编程基础 IP地址端口
网络编程;TCP/IP协议
网络:实现计算机之间的信息共享,数据资源的交换
协议:数据交换需要遵守的一种协议,按照约定的数据格式等写出去
端口:用于计算机之间的通信
每运行一个程序,系统会分配一个编号给该程序,作为和外界交换数据的唯一标识
0~65535
查看被使用的
JDK1.5 生产消费者
bijian1013
java thread 生产消费者 java多线程
ArrayBlockingQueue:
一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列检索操作则是从队列头部开始获得元素。
ArrayBlockingQueue的常用方法:
JAVA版身份证获取性别、出生日期及年龄
bijian1013
java 性别 出生日期 年龄
工作中需要根据身份证获取性别、出生日期及年龄,且要还要支持15位长度的身份证号码,网上搜索了一下,经过测试好像多少存在点问题,干脆自已写一个。
CertificateNo.java
package com.bijian.study;
import java.util.Calendar;
import
【Java范型六】范型与枚举
bit1129
java
首先,枚举类型的定义不能带有类型参数,所以,不能把枚举类型定义为范型枚举类,例如下面的枚举类定义是有编译错的
public enum EnumGenerics<T> { //编译错,提示枚举不能带有范型参数
OK, ERROR;
public <T> T get(T type) {
return null;
【Nginx五】Nginx常用日志格式含义
bit1129
nginx
1. log_format
1.1 log_format指令用于指定日志的格式,格式:
log_format name(格式名称) type(格式样式)
1.2 如下是一个常用的Nginx日志格式:
log_format main '[$time_local]|$request_time|$status|$body_bytes
Lua 语言 15 分钟快速入门
ronin47
lua 基础
-
-
单行注释
-
-
[[
[多行注释]
-
-
]]
-
-
-
-
-
-
-
-
-
-
-
1.
变量 & 控制流
-
-
-
-
-
-
-
-
-
-
num
=
23
-
-
数字都是双精度
str
=
'aspythonstring'
java-35.求一个矩阵中最大的二维矩阵 ( 元素和最大 )
bylijinnan
java
the idea is from:
http://blog.csdn.net/zhanxinhang/article/details/6731134
public class MaxSubMatrix {
/**see http://blog.csdn.net/zhanxinhang/article/details/6731134
* Q35
求一个矩阵中最大的二维
mongoDB文档型数据库特点
开窍的石头
mongoDB文档型数据库特点
MongoDD: 文档型数据库存储的是Bson文档-->json的二进制
特点:内部是执行引擎是js解释器,把文档转成Bson结构,在查询时转换成js对象。
mongoDB传统型数据库对比
传统类型数据库:结构化数据,定好了表结构后每一个内容符合表结构的。也就是说每一行每一列的数据都是一样的
文档型数据库:不用定好数据结构,
[毕业季节]欢迎广大毕业生加入JAVA程序员的行列
comsci
java
一年一度的毕业季来临了。。。。。。。。
正在投简历的学弟学妹们。。。如果觉得学校推荐的单位和公司不适合自己的兴趣和专业,可以考虑来我们软件行业,做一名职业程序员。。。
软件行业的开发工具中,对初学者最友好的就是JAVA语言了,网络上不仅仅有大量的
PHP操作Excel – PHPExcel 基本用法详解
cuiyadll
PHP Excel
导出excel属性设置//Include classrequire_once('Classes/PHPExcel.php');require_once('Classes/PHPExcel/Writer/Excel2007.php');$objPHPExcel = new PHPExcel();//Set properties 设置文件属性$objPHPExcel->getProperties
IBM Webshpere MQ Client User Issue (MCAUSER)
darrenzhu
IBM jms user MQ MCAUSER
IBM MQ JMS Client去连接远端MQ Server的时候,需要提供User和Password吗?
答案是根据情况而定,取决于所定义的Channel里面的属性Message channel agent user identifier (MCAUSER)的设置。
http://stackoverflow.com/questions/20209429/how-mca-user-i
网线的接法
dcj3sjt126com
一、PC连HUB (直连线)A端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 二、PC连PC (交叉线)A端:(568A): 白绿,绿,白橙,蓝,白蓝,橙,白棕,棕; B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 三、HUB连HUB&nb
Vimium插件让键盘党像操作Vim一样操作Chrome
dcj3sjt126com
chrome vim
什么是键盘党?
键盘党是指尽可能将所有电脑操作用键盘来完成,而不去动鼠标的人。鼠标应该说是新手们的最爱,很直观,指哪点哪,很听话!不过常常使用电脑的人,如果一直使用鼠标的话,手会发酸,因为操作鼠标的时候,手臂不是在一个自然的状态,臂肌会处于绷紧状态。而使用键盘则双手是放松状态,只有手指在动。而且尽量少的从鼠标移动到键盘来回操作,也省不少事。
在chrome里安装 vimium 插件
MongoDB查询(2)——数组查询[六]
eksliang
mongodb MongoDB查询数组
MongoDB查询数组
转载请出自出处:http://eksliang.iteye.com/blog/2177292 一、概述
MongoDB查询数组与查询标量值是一样的,例如,有一个水果列表,如下所示:
> db.food.find()
{ "_id" : "001", "fruits" : [ "苹
cordova读写文件(1)
gundumw100
JavaScript Cordova
使用cordova可以很方便的在手机sdcard中读写文件。
首先需要安装cordova插件:file
命令为:
cordova plugin add org.apache.cordova.file
然后就可以读写文件了,这里我先是写入一个文件,具体的JS代码为:
var datas=null;//datas need write
var directory=&
HTML5 FormData 进行文件jquery ajax 上传 到又拍云
ileson
jquery Ajax html5 FormData
html5 新东西:FormData 可以提交二进制数据。
页面test.html
<!DOCTYPE>
<html>
<head>
<title> formdata file jquery ajax upload</title>
</head>
<body>
<
swift appearanceWhenContainedIn:(version1.2 xcode6.4)
啸笑天
version
swift1.2中没有oc中对应的方法:
+ (instancetype)appearanceWhenContainedIn:(Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION;
解决方法:
在swift项目中新建oc类如下:
#import &
java实现SMTP邮件服务器
macroli
java 编程
电子邮件传递可以由多种协议来实现。目前,在Internet 网上最流行的三种电子邮件协议是SMTP、POP3 和 IMAP,下面分别简单介绍。
◆ SMTP 协议
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一个运行在TCP/IP之上的协议,用它发送和接收电子邮件。SMTP 服务器在默认端口25上监听。SMTP客户使用一组简单的、基于文本的
mongodb group by having where 查询sql
qiaolevip
每天进步一点点 学习永无止境 mongo 纵观千象
SELECT cust_id,
SUM(price) as total
FROM orders
WHERE status = 'A'
GROUP BY cust_id
HAVING total > 250
db.orders.aggregate( [
{ $match: { status: 'A' } },
{
$group: {
Struts2 Pojo(六)
Luob.
POJO strust2
注意:附件中有完整案例
1.采用POJO对象的方法进行赋值和传值
2.web配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee&q
struts2步骤
wuai
struts
1、添加jar包
2、在web.xml中配置过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.st