标题: [技术讨论] 用你熟悉的语言,统计一千万个26字母 [打印本页]
作者: codegay 时间: 2016-8-22 21:41 标题: 用你熟悉的语言,统计一千万个26字母
转载来自微博@2gua 的题目:
http://weibo.com/1609119537/E4Kr ... t#_rnd1471872982902
用你熟悉的语言,统计一个字符串abcdefghijklmnopqrstuvwxyz...abcdefghijklmnopqrstuvwxyz(1千万个a-z,不可直接a=1千万......)中每个字母的个数,
最后输出类似图示。要求除了更好的方式(如更加Pythonic的方式),还要计算越快越好,并打印出代码执行时间(打印效果类似图示)[doge]
作者: pcl_test 时间: 2016-8-22 23:25
gawk- #*&cls&gawk -f "%~f0"&pause&exit
-
- BEGIN{
- str="abcdefghijklmnopqrstuvwxyz...abcdefghijklmnopqrstuvwxyz"
- t1=systime();
- c=0;
- while(c!=""){
- i++;
- c=substr(str,i,1);
- a[c]++;
- }
- t2=systime();
- t=t2-t1;
- for(i=asorti(a,b);i>0;i--){if(b[i]!="")s=",'"b[i]"':"a[b[i]]""s};
- print "{"substr(s,2)"}\nin["t"s]";
- }
复制代码
作者: CrLf 时间: 2016-8-22 23:51
gawk 一行流:- echo abcdeABCDE@#$ | gawk -F "" "{t1=systime();n=0;while(n<NF){n++;a[$n]++};for(i in a)JSON=JSON\", '\"i\"': \"a[i];t2=systime();t=t2-t1;print \"{\" substr(JSON,2) \"}\nin[\"t\"s]\"}"
复制代码
作者: wskwfkbdn 时间: 2016-8-23 07:37
处理10行和处理1000行并没有什么区别,结果还是一样。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |