ARTS第七周
2019-06-19 本文已影响0人
leo小超
Algorithm
shortest-palindrome
给定一个字符串s,在s前增加最少字符串使得回文
自己写的爆破方式时间超过了leetcode的时间限制并且写得也很复杂,看解决方法一种爆破一种KMP算法,KMP算法还在研究中。
爆破思路:
反转s,从0开始对比是否回文
比如:bcdcba反转成abcdcb,第一次比较bcdcba和abcdcb不相等,第二次比较bcdcb和bcdcb相等,表示除去[0,i]后面的形成了回文,结果为[0,i]字符串 + s
public String shortestPalindrome(String s) {
int n = s.length();
String recv = new StringBuilder(s).reverse().toString();
for (int i = 0; i <= n - 1; i++) {
if (s.substring(0, n - i).equals(recv.substring(i))) {
return recv.substring(0, i) + s;
}
}
return "";
}
Review
session-management
讲了session的几个特点,使用随机生成避免被碰撞出来;使用cookie方式传递不要使用url显示传递参数;使用框架内的生成session管理方式;有过期时间等等
Tips
禁ip命令
iptables -I INPUT -s **** -j DROP
-I(--insert):表示插入规则到规则链头(默认rulenum=1)
-D(--delete):删除规则
INPUT:filter表中链,表示包的流入规则,还有OUTPUT流出规则,FORWARD转发规则
-s(--source):指定数据源地址,-p可以指定协议等等
-j(--jump):跳转目标,DROP直接丢弃无返回,ACCEPT接受,REJECT拒绝可以明确返回拒绝