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):表示插入規(guī)則到規(guī)則鏈頭(默認rulenum=1)
-D(--delete):刪除規(guī)則
INPUT:filter表中鏈,表示包的流入規(guī)則幅恋,還有OUTPUT流出規(guī)則杏死,FORWARD轉發(fā)規(guī)則
-s(--source):指定數據源地址,-p可以指定協(xié)議等等
-j(--jump):跳轉目標佳遣,DROP直接丟棄無返回识埋,ACCEPT接受,REJECT拒絕可以明確返回拒絕