自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [leetcode:13] 罗马数字转十进制

竟然过了class Solution {public: int romanToInt(string s) { map m; m['I'] = 1; m['V'] = 5; m['X'] = 10; m['L'] = 50; m['C'] = 100; m['D'] = 50

2015-12-03 17:52:56 654

原创 [leetcode:7] 字符串转整数的溢出判断

#include#include #include#include#include#include#include #include using namespace std;void empty(const char* fmt, ...) {}#define print emptyclass Solution {public: char int_max[65

2015-11-30 11:57:39 2017

原创 C++类型转换

c++的四种类型转换

2015-09-17 13:28:56 519

原创 坐结合和右结合的含义

例如:1+2+3,如果+为坐结合,则解释为 (1+2)+3,如果右结合就解释为 1+(2+3) 。因为加号具有结合律,所以以上二者相同。但是不是所有情况下都相同。

2015-09-16 20:17:40 875

原创 解决移进/规约冲突

How to resolve shift/reduce conflicts?如何解决移进规约冲突?比如下面的文法就有冲突:expr:     expr - expr     | expr * expr     | - expr对于输入: - 1 * 2解析完1后,可以继续移进 * ,或者根据规则 expr:-expr 规约为 -1。也就是说,解析方式有两种:

2015-09-16 19:40:49 30881 2

原创 python移动文件

# -*- coding: utf-8 -*-import osimport os.pathimport shutildef MoveMp3(src_dir, dest_dir): count = 0; for parent,dirnames,filenames in os.walk(src_dir): print(dirnames); for filename in fil

2015-07-27 23:01:43 2029

原创 unix套接字

下面的代码创建了一个server和一个client。client发送两个请求:echo和exit。server收到exit立即退出,其他请求则返回一个固定的字符串作为回馈。#include #include #include #include #include #include #include #include #include #include #include

2015-04-14 15:52:53 565

原创 GO语言:Get拉取网页

package mainimport ( "net/http" "io/ioutil" "fmt"// "time")func main(){ var website string = "http://www.future.org.cn" if resp,err := http.Get(website); err == nil{ defer resp.Body.Close()

2015-04-11 12:36:08 1156

原创 GO语言 HelloWorld

golang hello,world

2015-03-11 16:47:22 753

原创 实习结束,准备回家

实习结束,准备回家?呵呵,u're kidding me

2015-01-11 15:49:15 678

原创 将GIF多张图片转成一张PNG图片,以便在游戏中可以方便使用

使用一个python库PIL完成。可指定的参数为png图片最大宽度maxwidth,默认为4096。在这个限制下,如果一行放不下,就自动换行。其他参数均作为要处理的gif文件名,将会进行遍历处理。gif文件名必须用.gif结尾,生成的文件将分别以.png和.lua结尾。例如xx.gif会在同一个目录下生成xx.png和xx.lua文件。如果xx.png活xx.lua以及存在,则导致该文

2015-01-11 15:44:42 2169

原创 lua编程注意事项

参数遗漏问题function a() return "a1", "a2"endprint(1, a())print(1, a(), 2)打印的结果是1 a1 a21 a1 2可以看到,第二次打印的时候a的第二个返回值丢失了。这是因为编译器不知道这个函数的返回值个数,函数调用如果不是在形参的最后,编译结果中只能占据一个形参位。

2015-01-08 20:47:24 1122

原创 使用zlib压缩和解压gzip

基于zlib,写了两个函数,可以压缩和解压gzip格式的char *数据。main里面进行了一下包装,实现了压缩和解压gzip文件的功能。linux上的标准gzip程序会将原始文件名记录在gzip文件的起始处,后面的内容则同下面程序的操作结果完全相同。所以标准gzip的压缩结果总是比下面程序的压缩结果多几个字节,不过这几个字节不影响解压。如果需要成功编译该程序,可能需要修改下面zlib

2015-01-07 17:02:12 2862

原创 FLEX&BISON:去除C代码注释和其中的多余空行

使用两个flex程序来完成。去除注释flex代码文件flex1:%option noyywrap%x COMMENT%{%}%%"//".* {}"/*" {BEGIN COMMENT;}"*/" {BEGIN INITIAL;}. {}. {printf("%s", yytext);}%%int main(int argc, char *argv[]){

2014-12-27 00:23:37 3385

原创 ubuntu下设置love2d开发环境

到love2d官网,打开linux的ppa页面,点击“Technical details about this PPA“,选择ubuntu版本,拷贝方框里面第一行(ubuntu13.10的是:deb http://ppa.launchpad.net/bartbes/love-stable/ubuntu saucy main)。打开设置里面的“软加和更新”,点”其他软件“,点”添加“,粘贴刚

2014-12-21 09:56:03 1516

原创 基于Lua的新语言NL

新语言使用nl来作为临时名称(new language的缩写),语法和特性基于Lua。nl语法和特性完全基于Lua的语法,修改如下:function使用def代替。字符串连接符去除,将任意类型的两个变量写在一起表示将其作为字符串连接,即a b// 等同于tostring(a) .. tostring(b)所以:"a" "b" => "ab""a"

2014-12-17 00:07:03 1031

原创 三、2D骨骼动画

spriter的官网下载在love2d中解析scml文件的工具  密码: llku编辑2D骨骼动画的免费软件似乎只有Spriter了,而且其Pro版本还要收费。游戏引擎依然是love2d,在love2d的官网论坛上我找到了解析Spriter动画文件的程序,在上面的链接下载。

2014-12-15 21:16:43 1437

转载 github的使用

github简单使用教程时间:2012 年 05 月 29 日

2014-12-13 20:41:33 489

原创 神奇的mongo:JS操作mongo的代码

mapreduceload("liyong11_lib.js")function prepare_data(db){ data = [ {price:1, name:"Simplify Your Life"}, {price:1, name:"Getting Things Done"}, {price:1, name:"The War of Art"}, {price:

2014-12-10 17:44:21 887

原创 神奇的mongo:找出某个集合中包含boolean数据的文档

db_name = "test"table_name = "test"db = connect( db_name )fields = ["field1", "field2"]for (field in fields){ field = fields[field] code ='typeof this.' + field + ' == "boolean"' c

2014-12-10 17:32:36 1143

原创 神奇的Lua:从pairs和ipairs解析for循环

如果不用pairs/ipairs/for如何来实现遍历数组的操作呢?下面实现了一下,没有实用意义,仅仅为了理解lua的for循环。-- 实现 pairs ipairs for 三个函数local function ipairs_next_func(tab, key) key = key + 1 value = tab[key] if value then return key, v

2014-12-10 14:21:44 6611

原创 神奇的linux:脚本

kill掉名字为app_name的程序:ps -ef | grep app_name| kill `awk '{print $2}'`监控程序并自动重启:RootDir=`pwd`check_if_running(){ BinName=$1 for pid in `ps aux | grep -v grep | grep $BinName | awk '{prin

2014-12-09 13:52:31 626

原创 C语言载入文件所有内容

code snippet:/** * @brief 将path文件所有内容载入dest缓冲区中 * @param[in] path 文件的完整路径或相对路径 * @param[out] dest 文件内存存储到这个缓冲区里面 * @param[in] dest_len 缓冲区字节数 * @return * 成功:返回传入的dest指针 * 失败:返回NULL

2014-12-01 11:04:03 759

原创 神奇的mongo:索引

db.collection.ensure( {'field':1} )db.collection.getIndexes()更新mongo时的条件字段最好建立个索引。十万条数据而已,更新2048个记录时,建不建索引就是1秒和1分钟的差距。血的教训

2014-11-27 11:23:23 598

原创 有符号长整数 转 无符号长整数

#include#includeint main(int argc, char *argv[]){ if (argc != 2){ printf("usage: ./exe number_string\n"); } const char *num_str = argv[1]; unsigned long num = strtoul(n

2014-11-20 10:26:03 2079

原创 python 日志处理

#!/usr/bin/pythonimport sysimport refrom optparse import OptionParserdef processor(filename, handlers, max_cnt): cnt = 0 if max_cnt is None: max_cnt = 10 line_no = 0 for line in open(filen

2014-11-04 12:00:55 740

转载 神奇的算法:二叉树性质

1.树的度:树节点的子树个数称为度。节点最大的度,称为树的度。2.树的深度|高度:其实,就是树的层数。根节点深度为1。3.二叉树的五条性质:(1)在二叉树的第i层上至多有2^(i-1)个节点。(i>=1)(2)深度为K的二叉树至多有2^K - 1 个节点。(K>=1)(3)叶子节点为N0,度为2的节点数为N1,则N0 = N1 + 1 。(4)具有N个节点的完全二叉树的深度

2014-10-24 16:41:49 788

转载 CPP(十一):STL实现的底层数据结构简介

原文:http://blog.csdn.net/huangkq1989/article/details/7277282C++ STL 的实现:1.vector  底层数据结构为数组 ,支持快速随机访问2.list    底层数据结构为双向链表,支持快速增删3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾

2014-10-24 15:24:41 823

原创 神奇的Lua:weak table

Lua的weak table机制可以实现一些神奇的功能。将一个table设置为weak的方法:

2014-10-07 22:09:30 1502

原创 二、行为树的原理和实现

使用BTEditor可以生成行为树的Lua代码,这里对生成的代码进行解析。(BTEditor的项目主页:https://github.com/bartoleo/BTEditor)要注意:1、行为树每个节点都需要向其父节点返回一个值,以允许父节点根据子节点运行情况继续运行。2、每棵树都有一个根节点,这个节点没有特殊意义。需要解析的行为树节点的解释:一、Composite No

2014-10-03 18:18:59 8287 3

原创 神奇的Lua:可变参数

变参被依次放在arg表中。可以通过...继续传递变参。

2014-10-01 16:19:14 3730

原创 神奇的lua:lex和yacc实现计算器

在别人的基础上改了一个支持变量的命令行计算器,作为lua编辑

2014-09-24 00:31:39 2888

原创 神奇的sh:管道操作|原理 ,实现一个支持管道操作的grep

C程序的输入有参数和标准输入,

2014-09-21 17:43:41 2079

原创 神奇的sh:如何输出所有参数?

[ "$a" == "$b" ] && [ "$a" == "$c" ] && { echo "a==b and a==c";} || [ "$a" != "$b" ] || [ "$a" != "$c" ] || { echo "a!=b and a!=c";} || { echo "other";}

2014-09-21 16:59:18 3581

原创 神奇的sh:实现svn一次性增加所有新增文件

svn st | awk '{if($1=="?"){cmd="svn add "$2; system(cmd); }}'

2014-09-17 21:20:56 632

原创 神奇的算法:B树

B树是m叉平衡查找树,用于解决硬盘文件检索问题。

2014-09-03 19:54:33 721

原创 为什么要写技术博客

原来想写一些教程,后来写的过程中发现水平不够,于是

2014-09-03 10:12:08 451

原创 神奇的算法:KMP Knuth Morris Pratt 算法

精华在于发现不匹配时向后移动的

2014-09-03 10:09:12 834

原创 神奇的mongo:mongo JS mapreduce

示例代码:function print_collection(db, name){ var res = db[name].find() res.forEach(function(doc){ printjson(doc) })}function prepare_data(db){ data = [ {price:1, nam

2014-08-26 16:37:37 808

原创 神奇的linux:程序core了。。。

linux下面写程序,遇到core是很正常的,下面记录下平时遇到的core,及其应对措施。

2014-08-26 14:22:36 923

空空如也

空空如也

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

TA关注的人

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