• 等级
  • 10591 访问
  • 30 原创
  • 0 转发
  • 141538 排名
  • 8 评论
  • 4 获赞

KMP算法学习的一点个人理解

PS:KMP算法的背景相关请自行百度,本篇编程语言使用python,个人学习用,理解上可能存在谬误。算法实现出自本人自以为理解的KMP而码成,不保证正确性以及性能最优。 假设有两个字符串s, r,求r在s中出现的位置,效率最高的算法似乎就是KMP了。 1.生成next数组 算法的第一步是生成r的next数组,next[i],其中0<=i<len(r),的值即为子串r[:i+1]的...

2018-11-09 10:34:11

量化 ZIG函数的python实现

来自某百科的定义,ZIG(K,N) 函数当数值K的变化量超过N%时折线转向。 本文只考虑收盘价(close)的5%转向。 先上图,直观感受下ZIG线(白线) 所以给定日线收盘价序列,要求出其ZIG线; 大体思路如下: (x = 0.05即5%转向) 若是上涨趋势:     扫描点的值若大于现在候选节点的值,则把候选点置为扫描点;     扫描点的值若小于现在候选节点的值*(1-...

2018-11-02 11:15:33

pycoin学习笔记(6) 对交易签名的源码简析(PayToAddressScript)

(个人学习用,可能理解上存在谬误)上篇中,签名的步骤如下,solver = build_hash160_lookup([exponent]) signed_new_tx = unsigned_new_tx.sign(solver)对于pycoin是如何完成交易签名的,很有必要从其源码中进行研究 def sign(self, hash160_lookup, hash_type=None, **...

2018-07-15 22:05:51

pycoin学习笔记(5) 本地对交易签名(p2pkh)

注:本篇所有实验均在比特币测试网络(testnet)下进行这次实验对交易进行本地签名,即不利用第三方钱包的签名功能。本次的场景是,将mh4xx1pgjqLmjVUJxfdj3qV8BJaYARLdh9上的0.2btc转到2N113Ujyc6Pj7kvnZMyZNpAtAfj9EzoHStQ上去。开始撸码:from pycoin.ecdsa import generator_secp256k1, p...

2018-07-13 15:55:36

pyinstaller打包报错: RecursionError: maximum recursion depth exceeded

今天给以前写的python脚本用pyinstaller打包的时候,居然报错了: ... File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit return visitor(node) File "d:\programdata\anaconda3\lib\ast.py", line 261, in gener...

2018-07-13 14:53:41

pycoin学习笔记(4) 生成交易,使用jsonrpc签名并广播

注:本篇所有实验均在比特币测试网络(testnet)下进行前置步骤:1)下载比特币钱包客户端: bitcoin core. 选择testnet并开启jsonrpc的相关功能。2)去网上乞讨一些比特币这是我乞讨得到的1.03个比特币该交易的hex表示为:0200000001ae2e375fe76f30e3451e2f5fd7441c66ce884a189886abe1e6eccbeff6b6cda8...

2018-07-12 16:15:49

pycoin学习记录(3) hd钱包 bip32

from pycoin.ecdsa import public_pair_for_secret_exponent, generator_secp256k1 from pycoin.encoding import wif_to_secret_exponent, public_pair_to_bitcoin_address from pycoin.key.BIP32Node import BIP32N...

2018-07-10 15:32:48

pycoin学习记录(2) 生成 bitcoin address

from pycoin import encoding from pycoin.ecdsa import public_pair_for_secret_exponent, generator_secp256k1 from pycoin.serialize import h2b is_compressed = False secret_exponent = 0x3aba4162c7251c891...

2018-07-09 15:27:36

pycoin学习记录(1) ecdsa

from pycoin.ecdsa import public_pair_for_secret_exponent, generator_secp256k1, sign, verify secret_exponent = 0x12345678 public_point = public_pair_for_secret_exponent(generator_secp256k1, secret_exp...

2018-07-09 14:02:14

overflow:hidden 的妙用

示例如下:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>hello</title> <style> .container{ background: red; /*overflow: h

2018-05-31 10:48:22

@ConditionalOnClass的使用探索 新日暮里格斗大会

Spring的新引入的注解 @ConditionalOnClass是Springboot实现自动配置的重要支撑之一。其用途是判断当前classpath下是否存在指定类,若是则将当前的配置装载入spring容器。举例来说,如果在maven中引入了velocity,那么视图就使用velocity,若引入的是freemarker,则使用freemarker.但是眼见为虚,手敲为实,所以自己决定来验证下其...

2018-05-24 11:18:42

生产环境 ios推送证书更换

苹果的推送证书的有效期是一年,过期了就没法推送了,那问题就严重了。整体步骤很简单:1)先去apple developer上,对相应的appid重新生成生产环境的推送证书2)下载到mac后,导入钥匙串中,然后导出为p12,期间自己设个密码3)到第三方推送官网上(本人采用的个推),将p12证书更换一下即可整个过程,app无需重新打包,上线(当然想想苹果也不可能这么搞),经生产环境验证推送一切正常(不正...

2018-05-23 09:46:07

编译原理练手之撸个Json Parser(二) 实体类映射

上一篇中,实现了json字符串的解析;但是一个json库真正cool的地方是跟实体bean的转换,于是今天便来撸下。这次其实跟编译方面没有任何关系,主要是java反射的运用。之前反射用的也少,正好一边百度一边练练。基本功能码完后的感受就是,看似简单的一个实体映射,其实要考虑的细节非常之多,因此也只能实现个大概,离真正能在生产环境使用还差的远。以下是一个测试beanpackage com.ff.fu...

2018-05-22 15:06:45

编译原理练手之撸个Json Parser

https://github.com/lucyTheSlayer/FFJson手撸个python目标还是太遥远,先从简单的json解析器开始。捣鼓了半天,似乎是ok了,现总结一下。1.Lexer 分词器分词器的目标是将输入的String token化,定义了以下Token种类public enum FFToken { Comma,Colon,LBracket,RBracket,LBrace...

2018-05-21 21:16:37

自制简易编程语言 个人笔记(2)

https://github.com/lucyTheSlayer/orange网上把tiny machine的源码下载下来,省的自己敲了,赶紧试了下自己生成的字节码,不出所料一大堆bug。经过debug,总算是能跑个像样的程序了。立马敲一个,就从最简单的计算阶乘开始:#welcom to orange #this program computes n! for the input n #plz e...

2018-05-17 19:22:52

自制简易编程语言 个人笔记(1)

(写博客是提醒自己挖了坑一定要填)github地址https://github.com/lucyTheSlayer/orange趁着空闲时间,准备学习自己搞一套编程语言出来,就命名为Orange。Orange的最终目标是python的简化版,具有oop的支持(希望能坚持到这步)于是翻出好几年前的老书《编译原理及实践》,照着书后源码就是一顿敲。书中的TINY语言格式是在是太丑了,所以必须对其源码进行...

2018-05-17 14:18:30

闲的蛋疼:用算法解移动一根火柴问题(二)

本文仅个人娱乐所用。趁着空闲,把昨天的程序完善了下,做成了一个控制台小游戏。不得不说,我的智商被爆了。import random class ActionType: Dec = 0 #将火柴移出 Inc = 1 #将火柴移入 SelfTrans = 2 class PositionType: Default = 0 FrontEmpty = 1 cl...

2018-04-24 09:49:19

闲的蛋疼:用算法解移动一根火柴问题

最近一直看到诸如的问题,闲的无聊,便写了段代码来自动解答这类问题。初步只能支持标准的数字变化,即9可以变成3,5,6等,但是不能变成13因为一根火柴棍形成不了1(1需要两根火柴棍).另外数字间不能插入符号,例如132不能变成13-2,因为没有空间可以插入。允许更为灵活的变换需要更多的代码,在此不过多深入思考了思路如下:1)首先求出每个字符“0~9 - +”增加一根火柴,减少一根火柴,自身移动一根火...

2018-04-23 15:13:44

swift 4.0 字符串动画

为了让app看上去酷一点,动画是必要的。花了一整天时间做了下字符串动画,特将成果贴在此处。主要参考了ZZStringAnimation,主要思想便是把uilabel中的字符串,以单字为单位拆分为一个个小的uilabel;那么接下来操纵这些小的uilabel就可以形成很酷炫的动画效果了。github地址:https://github.com/lucyTheSlayer/FFAnimation...

2018-04-16 15:40:29

swift4.0 创建随机字符串

修改自https://www.jianshu.com/p/1ec6ba8a0da3extension String{ static let random_str_characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" static func randomStr(len : Int) ...

2018-04-11 09:50:23

放开那禽兽冲我来

关注
  • 中国
奖章
  • 持之以恒