自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

暮雨潇湘

gagagagaga……

  • 博客(28)
  • 收藏
  • 关注

原创 Go reflect 反射实例解析

Go reflect 反射实例解析Go reflect 反射实例解析0 FBI WARNING1 现象分析1.1 不会1.2 笨重2 由高斯求和说起3 实例3.1 http转rpc模板3.1.1 闭包3.1.1.1 实例的方法3.1.1.2 函数嵌套3.1.2 装饰器3.1.3 反射3.2 简易ORM3.2.1 反射3.2.2 封装3.3 兼容不同格式的API返回结果3.3.1 接口3.3.2 反...

2020-05-02 13:41:17 1500

原创 真枪实弹谈写代码

  程序员最头疼的是啥?Bug。那如何写代码才能降低Bug率呢,前辈们已经总结出了各种方法,比较出名的有:设计模式六大原则、Rob Pike六项原则、Unix哲学17条原则、KISS、DRY、Python之禅、宽进严出等等等等,还有各个公司自己的技术栈和编码规则。俗话说的好,道理懂了这么多,为什么还是会写出Bug?孔子曰:“学而不思则惘,思而不学则殆。”道理虽懂,还需实践。  每项原则具体代表什...

2019-09-24 11:47:07 303

原创 散列化思维

关于结构化思维,网上资料早已多如牛毛,不胜枚举。大家对结构化思维也都有一个或大概,或清晰的认知:结构化思维能让人在工作生活中更有条理,说话、做事等,获益良多。而今天我要说的这个“散列化思维”,可能受众就要少的多了,那什么是散列化思维呢?散列化思维对照结构化思维,非常显著的特点就是,没有结构、零散,让人觉得说话没有条理,做事没有一个完善的流程。至此,好像散列化思维没有任何好处,那它还有什么存在的...

2018-11-22 17:37:05 509

原创 Go语言反射

Go语言反射背景基础可读与可写取址类型类型、值操作basic typesslicearraymapchanfuncstructptr (interface类似)练习链表csv转json常见模式例1:`DeepEqual`例2:简易mysql orm写在最后背景先看官方Doc中Rob Pike给出的关于反射的定义:Reflection in computing is the ability ...

2018-11-22 17:31:42 1853

原创 三色旗问题通解

背景描述:描述:假设有一条绳子,上面挂有红、白、蓝三种颜色的旗子,没有顺序。要求:将旗子分类,按蓝、白、红的顺序排列。问题:如何移动,可使总移动次数最少。限制:只能在绳子上操作,每次只能交换其中两面旗子。例子:原始状态:                  最终状态:          ...

2018-07-29 05:14:31 3859

原创 我们欺骗了活动主办方

    今天(2018.5.5)下午,我又去参加了清华大学天行教育研究中心的青年沙龙活动。    下午大家分组坐在一起探讨分享时,HR妹子忍不住问了个问题:“我觉得来这里的,都是对职业生涯有些困惑的,可我看你们都没有这方面的困惑,你们为什么要来参加这种活动呢?”我旁边的工作人员说,“我其实也有这个疑问。”我们组的大姐大毫不犹豫地说,“因为我觉得在这里能遇到一些有意思的人,交流职业生涯中有意思的想法...

2018-05-06 02:35:51 388

原创 玩switch游戏——马里奥·奥赛德——的发现

    晚上一时兴起,打开久已蒙尘的switch游戏机,玩了会儿马里奥·奥赛德,真正的良心制作:里面有一个智力关卡:要求最终摆成下面样子:上图中,戴帽子的石头是由玩家控制的,可以向上下左右滚动,但不能超过边线,也即只有八个方块可供闪转腾挪。如果石头向右滚动,左边的面会变成向上的面,上面的面会变成向右的面,问如何能把石头摆成对称?解决此类脑筋急转弯类问题,一般都是有固定套路的:找出最最基本的条件,组...

2018-04-15 06:11:12 3425

转载 并发编程模型

原链:http://ifeve.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B%E6%A8%A1%E5%9E%8B/原文链接 作者: Jakob Jenkov 译者: 林威建 [weakielin@gmail.com]并发系统可以采用多种并发编程模型来实现。并发模型指定了系统中的线程如何通过协作来完成分配给它们的作业。不同的并发模型采用不同的方式拆

2017-11-08 10:56:48 301

原创 1与2之间的最短距离

一个m*n的方格纸上,有0、1、2三种数字,可以想像0是面墙,不能通过,1是通道上的一个点,2是储物点,求这个方格纸上每个1的点与离它最近的2之间的距离。(有上下左右四个方向可走。)比如,一个5*5的格子上有:0 1 1 0 21 0 2 0 11 1 0 1 10 1 1 1 00 1 0 0 0则每个1到2之间的最短距离为:N 2 1 N 09 N 0

2017-11-06 11:43:51 621

原创 MongoDB进化论

MongoDB被定义为分布式文档存储数据库,从定义上说,首先它要是个数据库,用于文档存储的,而后是支持分布式。现下,我们可以看下它是如何做到分布式文档存储的。一、传统CRUD1. Create: insert插入MongoDB是以bson(类似json)为存储结构的数据库,所以可以像下面这样插入数据:做插入时,不需要先创建表,直接插入即可。2.

2017-10-06 11:25:15 561

原创 实验楼-楼赛 第15期 Go语言-解题报告

实验楼 第15期 楼赛 Go语言 解题报告(注:本解题方法仅为一家之言)整体来说,出的题还是有点意思,很考校功夫。

2017-09-16 09:18:02 548

原创 敏感词过滤-AC自动机

在很多内容系统中,都需要过滤一些敏感词,比如说"fuck you shit up"就要发现里面有"fuck"、"shit"这些脏词。首先,我们要先了解敏感词过滤的一些特征:1. 敏感词多,一般成千上万2. 单词长度有限,一般不会超过103. 要过滤的句子长度有限,一般不过1000通过上面特征,我们粗略的算一下,如果采用暴力匹配方案的话,复杂度将会是1k*10*1k=10

2017-07-01 17:29:49 3601

原创 Docker初级应用

docker版环境隔离,让你的电脑干净起来

2017-05-11 18:12:03 2074

原创 从技术到逻辑,技术逻辑分离实践

技术逻辑分离,让逻辑不再强依赖技术实现,读代码的人更开心,写代码的人出错几率更低

2017-04-29 21:25:47 1299

原创 Gotchas

Assumptions 以下go-src代表go语言源码文件夹 以下代码均在test.go中测试 一切测试从简, 保证代码量尽可能小, 尽可能容易理解 Builtin IdentifiersSee go-src/builtin/builtin.goa. byte是uint8的别名package mainfunc main() { var u uint8 = '1'

2016-11-06 23:05:52 1323

转载 n*log(3)n排序算法

关于三叉堆排序呢,对于已经理解了二叉堆排序的人来说,其实很容易理解。该讲的在原作里面,作者已经讲的很清楚了,这里就只贴一下代码了。

2016-06-19 22:01:35 821

转载 查找包含特定字符最短片段

找出一个字符串包含的特定的字符最短的片段,例如abcccda,包含bd,那么最短的是bcccd(实际原题是单词,每个词就像一个字符)

2016-06-18 11:34:42 1029

原创 记一次windows重命名

记一次windows重命名0. 起因 最近龙珠又更新了,不知道各位小伙伴知不知道,今日一气之下,将所有更新下载了下来,可是问题来了,下下来的文件,名字中都会有网站的信息,如:“[龙珠超][40][红旅首发www.hltm.cc][GB][720P][MP4][异域字幕组].mp4”,而小生只想要这样的命名:“龙珠超-01.mp4”。 于是乎,就有了如下问题:如何批量重命名呢? 环

2016-05-29 16:40:11 986

原创 哈希——无冲突应用

众所周知,哈希的速度是灰常快的,敢号称时间复杂度为O(1)的,呵呵,它和快排有一拼(目前只有快排敢叫“快排”这个名号)。而且,它偏偏还非常好用,这注定了它不平凡的存在。倒是目前网说哈希时,多是介绍各种哈希函数的构造及如何避免冲突,然后动不动就扯到MD5这些东西上去了。照这样说来,貌似哈希不常用啊。其实说白了,管他那么多干嘛,就不冲突着用嘛,自然就省去了那些“拉链门”啊神马的东西了。平时没事来个哈希

2014-08-05 17:14:14 1860

原创 DES加密算法C实现

网上流传着众多DES加密算法的不同版本,原理相同,代码亦大同小异,而大多却是出自同源,在这呢,我也公布一种我自己的写法,也不一定好,但求容易看懂。步骤详解:1.密钥处理:得到16轮操作,每轮所需要用到的密钥;为什么这样做呢?因为大家知道:加密解密用的16个密钥是相同的,只是顺序不同,如果先将要用到的16轮密钥都求出呢,以后不论加密还是解密便可直接调用,不用再想它了。

2014-03-12 15:02:13 13373 7

原创 Wikioi 1985 GameZ游戏排名系统

题目链接:http://wikioi.com/problem/1985/解题代码:#include #include #include #include #include using namespace std;const int maxn = 250005;typedef struct node { int sub; struct node* next[26

2013-11-09 15:16:53 1383

原创 poj 3378 Crazy Thairs 动态规划

题目链接:http://poj.org/problem?id=3378 题目大意:      找出原序列中满足:1. 1 ≤ i 2. Ai j k l m      两个条件长度为5的子序列个数。 题目分析:      长度为5,我们可以从长度为1开始推算,一直推到长度为5。      首先,对于长度为1的,所有的数都满足条件。对于长度为2的,我们就可以这

2013-10-13 20:47:06 666

原创 wikioi 1245 最小的N个和

题目链接:wikioi 1245 题目大意:         有两个长度为 N(1≤N≤100000) 的序列 A 和 B,在 A 和 B 中各任取一个数可以得到 N2个和,求这N2 个和中最小的 N个。 题目分析:         对于任意Ai+Bi可得到N2个和,对这些和进行如下分类,可写成:                   A1+B1,A1+B2, A1+B3

2013-10-12 14:28:23 842

原创 poj 3667 Hotel 线段树

题目链接:poj.org/problem?id=3667题目大意:        有N间房,排成一排,每次入住连续编号为[r, r + D - 1]的房间,要求r最小;每次退房时会退掉连续编号为[X, X + D - 1]的房间。输入有两种形式:    1 入住D间房间,要求输出r最小    2 退掉一段房间题目分析:    经典线段树问题。有插入、删除和查

2013-10-01 23:27:40 636

原创 poj 2339 Rock, Scissors, Paper 模拟

题目链接:poj.org/problem?id=2339题目大意:    石头剪刀布,如果石头周围有剪刀,就将剪刀改为石头,同理,石头改为布,布改为剪刀。在这样n轮之后,问现在的状态是什么样。题目分析:    模拟该过程,进行n轮,然后输出最后的状态。    由于要对上下左右进行比较,不如将数据都从下标1处开始,这样既不会越界,也不会对结果产生影响。

2013-10-01 16:19:35 854

原创 poj 2777 Count Color 线段树

题目大意:有一段长为L(1 C A B C ——将区间[A, B]涂为颜色CP A B —— 查询区间[A, B]间有多少种颜色PS:初始时木板颜色为1;A不一定小于B。做题时需注意这两个地方。解题思路:首先,这是个更新区间,查询区间的问题,很容易想到要用线段树。那么接下来的工作就是线段树中需要哪些数据域来解决这个问题呢?一共有30种颜料,不多,但也不能每个节点开个数组

2013-10-01 00:03:56 1310

原创 poj 1451 T9 字典树

题目背景:为了方便手机用户发短信,希望在用户按键时,根据每个词出现的频数,给出每个阶段最有可能要打的词。PS:相同的前缀频数要相加计算。题目大意:有不同的几组测试样例,每个测试样例中有w个词及每个词出现的频数,然后是p组要打的词,按1键表示结束输入。要求输出按到每个键时最可能要打的词。解题思路:根据每个单词建立一棵“单词字典树”(A树), 附加域记录每个字母出现的频数。再根

2013-09-30 22:32:42 1608

原创 找出出现次数前十的单词

有106个英文单词,由小写字母组成,长度不超过20,要求找出其中出现次数前十的单词。PS:如果第10名和第11名出现次数相同,任意一个皆可。思路分析:字典树我们可以先用字典树记录下所有出现过的单词,然后对所有单词出现的次数进行部分排序,从而找出前十。具体来说,可以这样做:扫描每个单词进行建字典树。在建树过程中,如果该单词没有出现过,我们就分配给该单词一个空间,s[]

2013-09-30 20:37:23 1146

空空如也

空空如也

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

TA关注的人

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