还没起名字
文章
笔记
友链
烽火戏诸侯
BFPRT 算法——Top-K 问题求解
BFPRT 算法是一种用来求解Top-K问题的算法,其时间复杂度可以减小到O(n)。 基本过程 使用 BFPRT 求无序数组中第 k 小的元素,k 从 1 开始 # -*- coding=utf-8 -*- import random import time
2018-10-06
815 字
2 分钟
Manacher 算法
Manacher 算法用作求字符串中的最长回文串长度。 算法过程 利用 manacher 求解 LeetCode 第五题最长回文子串问题 # # [5] Longest Palindromic Substring # # https://leetcode.com/problems/longest-palindromic-substring/description/ # # algorithms # Medium (25.62%) # Total Accepted: 370.8K # Total Submissions: 1.4M # Testcase Example: '"babad"' # # Given
2018-09-27
265 字
1 分钟
使用 fail2ban 防止 ssh 暴力登录
fail2ban 可以设置规则自动拦截尝试失败次数过多的 IP,部署方法如下: 安装 fail2ban yum -y install fail2ban 请注意防火墙软件是firewalld而不是iptables # 查看状
2018-09-27
298 字
1 分钟
KMP 算法
KMP 算法用于检查短字符串是否在某个长字符串中。 算法过程 使用 kmp 解 LeetCode28 题 # # [28] Implement strStr() # # https://leetcode.com/problems/implement-strstr/description/ # # algorithms # Easy (29.86%) # Total Accepted: 316K # Total Submissions: 1.1M # Testcase Example: '"hello"\n"ll"' # # Implement strStr(). # # Return the index of the first
2018-09-20
317 字
1 分钟
LeetCode 每日一题题解集
GitHub repo 推荐一个终端刷 LeetCode 的工具:leetcode-cli,如果不想每次刷 LeetCode 开浏览器或者和我一样是终端 vim 党,可以试用一下。个人使用觉得优点: 支持关
2018-09-18
5789 字
12 分钟
剑指 offer 第五章 题 39-52 题解 Python 版
时间效率类考察题: 节省时间就是延长生命。:) 题 39:数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字
2018-08-25
5329 字
11 分钟
剑指 offer 第六章 题 53-66 题解 Python 版
知识迁移能力 举一反三:能力是培养的,加油吧。 题 53:在排序数组中查找数字 题目一:数字在排序数组中出现的次数 统计一个数字在排序数组中出现的次数
2018-08-25
5510 字
11 分钟
剑指 offer 第四章 题 27-38 题解 Python 版
举例让抽象问题具体化 如果没有思路,那就尝试手推几个例子吧。 题 27:二叉树的镜像 题目: 请完成一个函数,输入一课二叉树,请函数输出它的镜像。 解法
2018-08-21
3153 字
7 分钟
剑指 offer 第三章 题 16-26 题解 Python 版
代码完整性 基础功能; 输入边界值; 错误处理; 题 16:数值的整数次方 此题不需要考虑大数问题,仅仅是计算整数次方,所以处理好特殊值就行了。 class Solution: def Power(self,
2018-08-20
1648 字
4 分钟
剑指 offer 第二章 题 3-15 题解 Python 版
数组 题 3: 数组中的重复数字 在一个长度为 n 的数组里所有的数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字
2018-08-19
3806 字
8 分钟
1
2