KMP is essentially an finite-state automata. 所以我们需要首先构建这个自动机,也就是"next"数组。 构建next数组和使用这个数组来匹配字符串的方法,都是寻找最长的公共前后缀。
def strStr(haystack, needle):
if not len(needle): return 0
if len(haystack) < len(needle): return -1
<?php | |
// Turn on all error reporting so we can see if anything goes wrong | |
ini_set('display_errors', 1); | |
ini_set('display_startup_errors', 1); | |
error_reporting(-1); | |
// Relative path to your wp-config.php file (to connect to the database) | |
require '../wp-config.php'; | |
require './frontmatter.php'; // Parses YAML frontmatter - https://github.com/Modularr/YAML-FrontMatter | |
require './Parsedown.php'; // Markdown parser - https://github.com/erusev/parsedown |
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel |
'''A wrapper class for scheduled optimizer ''' | |
import numpy as np | |
class ScheduledOptim(): | |
'''A simple wrapper class for learning rate scheduling''' | |
def __init__(self, optimizer, init_lr, d_model, n_warmup_steps): | |
self._optimizer = optimizer | |
self.init_lr = init_lr | |
self.d_model = d_model |