2013年9月16日

利用Linux命令行进行文本按行去重并按重复次数排序

摘要: 最近杂事太多,正事进展缓慢。Fighting!linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能。本文这里举例说明如何利用Linux命令行进行文本按行去重并按重复次数排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是实现相邻文本行的去重,cut可以从文本行中提取相应的文本列(简单地说,就是按列操作文本行)。用于演示的测试文件内容如下:Hello World.Apple and Nokia.Hello World.I wanna buy an Apple device.The Iphone of Apple c 阅读全文

posted @ 2013-09-16 20:37 新一 阅读(650) 评论(0) 推荐(0)

一道面试题及其扩展,求好解法

摘要: 1、原始题目 看到一道大家讨论的比较老的算法面试题,说是字符串pStr,其中包含有大括号“{""}"中括号"[""]"小括号"("")"试编写一个递归函数,判断表达式中的括号是否匹配,返回true或者false。这道题之前自己准备面试的时候也做到过,好像是Catalan数的一个应用,用一个栈还是能很好地实现的,博主的代码如下。#include using namespace std;bool isMatch(const char* pStr){ const char* p = NULL 阅读全文

posted @ 2013-09-16 20:35 新一 阅读(196) 评论(0) 推荐(0)

Foundation Sorting: Shellsort

摘要: /* Shell Sorting. * Implemention history:. * 2013-09-15, Mars Fu, first version. *//* [Shell Sorting Algorithm]. * Published by Donald L. Shell [CACM 2, 7(July 1959), 30-32]. */#include "stdafx.h"#include "shellsort.h"#include static int get_increment(int s){ int next_hs; next_hs 阅读全文

posted @ 2013-09-16 20:33 新一 阅读(204) 评论(0) 推荐(0)

hdu 4739 Zhuge Liang's Mines

摘要: 今天的网络赛题目,用状态压缩的思想预处理,可以证明出20个点大概不能组成超过100个正方形。于是先预处理所有的正方形,然后0-1背包就可以了。、//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define FF(i, a, b) for(int i=a; i=b; i--)#define 阅读全文

posted @ 2013-09-16 20:30 新一 阅读(192) 评论(0) 推荐(0)

彻底解决:Keil编译提示“File has been changed outside the editor, reload?”提示!

摘要: 如图所示,很多同学在使用keil时都可能会碰到上图中的“File has been changed outside the editor, reload?”提示,很令人烦心。当遇到此提示,首先不要郁闷,请先看清楚文件的路径及名称。比如:这个提示的文件名是UCOSII+STM32+12864.axf,然后再看下图: 大家看见上图所示的文件名UCOSII+STM32+12864.axf了吗?直接在此图中关掉它就好了,此方法非常有效,百试不爽!注意:那个UCOSII+STM32+12864.htm文件也会导致如题的提示,也需要关掉。问题解决。希望对大家有用! 阅读全文

posted @ 2013-09-16 20:28 新一 阅读(3559) 评论(0) 推荐(0)

Oracle 表三种连接方式(sql优化)

摘要: 在查看sql执行计划时,我们会发现表的连接方式有多种,本文对表的连接方式进行介绍以便更好看懂执行计划和理解sql执行原理。一、连接方式:嵌套循环(Nested Loops (NL))(散列)哈希连接(Hash Join (HJ))(归并)排序合并连接(Sort Merge Join (SMJ) )二、连接说明:1.Oracle一次只能连接两个表。不管查询中有多少个表,Oracle在连接中一次仅能操作两张表。2.当执行多个表的连接时,优化器从一个表开始,将它与另一个表连接;然后将中间结果与下一个表连接,以此类推,直到处理完所有表为止。三、表连接详解:1. NESTED LOOP对于被连接的数据子 阅读全文

posted @ 2013-09-16 20:26 新一 阅读(1170) 评论(0) 推荐(0)

Foundation Sorting: Quicksort

摘要: /* Quick Sorting. * Implementation history:. * 2013-09-15, Mars Fu, first version. *//* [Quicksort Algorithm] * Published by C.A.R.Hoare,[Comp. J.5(1962),10-15]. */#include "stdafx.h"#include "quicksort.h"int do_quick_sort(void* src, int src_sz, int n, cmp_func cmp, exc_func exch 阅读全文

posted @ 2013-09-16 20:24 新一 阅读(275) 评论(0) 推荐(0)

POJ 2695 The Pilots Brothers' refrigerator(神奇的规律)

摘要: 转载请注明出处:http://blog.csdn.net/a1dark分析:如果想要将一个“+”翻转成“-”,那么必然会把对应的行和列上的所有点翻转一次、由于一个点翻偶数次就相当于不翻转、所以我需要统计“+”、然后将对应行和列的值+1、最后统计奇数值的个数、便是要翻转的点、#includeint mpt[5][5];int main(){ char ch; for(int i=1;i<=4;i++){ for(int j=1;j<=4;j++){ scanf("%c",&ch); if(ch=='+'){ ... 阅读全文

posted @ 2013-09-16 20:23 新一 阅读(194) 评论(0) 推荐(0)

装饰者模式

摘要: 装饰者模式:动态地将责任附加到对象上,若要扩展对象,装饰者模式提供了比继承更弹性的替代方案 要点:装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为 装饰者包含一个超类的对象,这样,可以在被装饰者行为前或者行为后加上新的行为,甚至取代原有的行为 装饰者会使程序中出现很多小类,增加使用难度使用场景:对象由主体+许多可选的部件或者功能构成,使用继承或者接口会产生很多类,且很难扩展。例如,现在需要一个汉堡,主体是鸡腿堡,可以选择添加生菜、酱、辣椒等等许多其他的配料,这种情况下就可以使用装饰者模式。实例:汉堡基类package decorator;public abstract cl.. 阅读全文

posted @ 2013-09-16 20:19 新一 阅读(214) 评论(0) 推荐(0)

Foundation Sorting: Single List Insertion Sort

摘要: /* List Insertion Sorting. * Implementation history:. * 2013-09-15, Mars Fu, first version. */#include "stdafx.h"#include "list_insertion.h"int init_list(struct s_clist *hd, int max_cnt, struct s_nodes *nodes){ if (hd == NULL) return 0; if (max_cnt node = NULL; nodes->cur = hd 阅读全文

posted @ 2013-09-16 20:18 新一 阅读(204) 评论(0) 推荐(0)

Django的TemplateResponse

摘要: def my_render_callback(response): return responsefrom django.template.response import TemplateResponsedef my_templateresponse(request): response = TemplateResponse(request, 'template.html', {}) response.add_post_render_callback(my_render_callback); return response we call add_post_render_cal 阅读全文

posted @ 2013-09-16 20:16 新一 阅读(635) 评论(0) 推荐(0)

C++使用之常量的定义

摘要: 在介绍C++的常前,先看下下面的代码。for (int i = 0; i < 512; ++i) { …;}512是什么,它具有什么含义?在代码中若直接使用类似512这些“魔数”(magic number),这些数字的具体含义就不能体现出来。另外,假如程序中多处包含512这个数,随着时间的推移,发现有些512需要更改为1024,有些512需要保持不变。这种情况下,程序员必须小心谨慎地去一个一个地查找程序中所有的512,并保证更改的数字不会出错——使用“魔数”会导致难以维护的问题。为了解决以上问题,可以使用#define预处理器指令来定义一个常量。例如,#define MAX_NUM_SI 阅读全文

posted @ 2013-09-16 20:13 新一 阅读(647) 评论(0) 推荐(0)

GDB学习之道:GDB调试精粹及使用实例

摘要: 一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。 利用set args 命令就可以修改发送给程序的参数,而使用show args 命令就可以查看其缺省参数的列表。 (gdb)set args –b –x (gdb) show args backtrace命令为堆栈提供向后跟踪功能。 Backtrace 命令产.. 阅读全文

posted @ 2013-09-16 20:11 新一 阅读(188) 评论(0) 推荐(0)

[置顶] 如何在Windows 7 64位安装Python,并使用Matplotlib绘图

摘要: 1.安装Python我使用的是Windows 7 64 bit,所以我从Python官网下载python-2.7.5.amd64.msi,安装步骤如下:1)安装window 7 64 bit python-2.7.5.amd64.msiFig 1 安装Python2.7.5Fig2 Python主程序安装完成接下来,打开PythonGUI,尝试Import NumPy函数库,发现主程序中不包含NumPy,所以重新安装Fig3 尝试导入NumPy函数库2)下载并安装window 7 64 bit numpy-MKL-1.7.1.win-amd64-py2.7.exe函数库Fig4 安装Nu... 阅读全文

posted @ 2013-09-16 20:09 新一 阅读(544) 评论(0) 推荐(0)

[每日一题] 11gOCP 1z0-052 :2013-09-15 Enterprise Manager Support Workbench..................B9

摘要: 转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/11715219 正确答案:ABDEnterpriseManger Support Workbench 是一个图形工具,它是一个基于企业管理器的新设施,它帮助调查和报告关键的错误。,允许用户访问AutomaticDiagnostic Repository(自动诊断知识库,ADR),并具有收集信息、打包信息以及将信息发送到OracleSupport Service的功能。SupportWorkbench是一个用于与Metalink交互,以及打包诊断信息的工具。可以进行健康检查,调用IPS打. 阅读全文

posted @ 2013-09-16 20:06 新一 阅读(162) 评论(0) 推荐(0)

【cocos2d-x】Win7下配置Cocos2d-x开发环境

摘要: 一、下载安装包先去Cocos2d-x官网下载安装包,最新版本为cocos2d-2.1.5 http://www.cocos2d-x.org/news/134 二、解压安装包下载完成后,解压文件,解压后文件目录如下: 三、生成解决方案双击cocos2d-win32.vc2010.sln(如果你使用的是vs2012,那么只双击cocos2d-win32.vc2012.sln),然后右键点解决方案,再点生成解决方案。这个过程因个人电脑速度而异。 生成解决方案完成之后,如果没有错误的话,你应该会得到如下图所示: 四、运行cocos2d-x可以运行一下cocos2d-x,看看效果。右建点击解决方案... 阅读全文

posted @ 2013-09-16 20:03 新一 阅读(270) 评论(0) 推荐(0)

PE框架学习之道:PE框架——发送报文流程

摘要: PE框架发送报文,适用于PE及VX技术 步骤: 1.在action中使用发送报文,要指定报文在router端的交易名称 2.如果使用supe.execute(context)来发送,不需要第一步 3.配置从网银到router的xml报文 4.根据网银交易名匹配到router端交易名(这里对应的是第2步,如果用第一步的方式,可以跳过) 5.在router端配置交易,记住命名空间,交易名等要一致 6.配置报文编码,转换为主机的编码(交易名对应的数字) 7.配置router到主机的报文 8.配置主机返回router的报文 9.配置router返回网银的报文 发送报文配置xml,以查询卡... 阅读全文

posted @ 2013-09-16 20:00 新一 阅读(1954) 评论(0) 推荐(0)

异常球称重问题

摘要: 有一堆球,其中一个异常,轻重未知,其他正常。天平只能比较轻重。问至少称多少次可得出异常球? 4球2次: 4个球1234。先比较12,若1=2,则12标准,34异常。拿一个标准和一个异常再比较一次便知。 另:如果外界还有若干标准球可借助 ,也需要2次。 8球3次: 先 比较123和456。 若相等,则1-6为标准球, 78异常,再比较一次便知。 若不等,则有两个标准球ab。将第一次比较结果小的和大的分别记为123,456,即 1233ab,则3偏小或者4偏大,第三步再比较34与ab,便知是3小还是4大。 12个球3次: ... 阅读全文

posted @ 2013-09-16 19:58 新一 阅读(373) 评论(0) 推荐(0)

完美二叉树

摘要: 不废话,直接上代码class BinaryTree { // 定义二叉树的操作类 class Node { private Comparable data; // 保存数据 private Node left;// 表示左子树 private Node right;// 表示右子树 public Node(Comparable data) { this.data = data; } public void addNode(Node newNode) { if (((Integer)(newNode.data)).compareTo((Integer)(this.data))... 阅读全文

posted @ 2013-09-16 19:56 新一 阅读(243) 评论(0) 推荐(0)

hdu 4739 Zhuge Liang's Mines (简单dfs)

摘要: Zhuge Liang's MinesTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 236Accepted Submission(s): 107 Problem Description In the ancient three kingdom period, Zhuge Liang was the most famous and smartest military leader. His enemy was Shima Yi, wh. 阅读全文

posted @ 2013-09-16 19:54 新一 阅读(234) 评论(0) 推荐(0)

导航