Algorithm:
https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
給定一個字符串,請你找出其中不含有重複字符的 最長子串 的長度。
示例 1:
輸入: "abcabcbb"
輸出: 3
解釋: 因爲無重複字符的最長子串是 "abc",所以其
長度爲 3。
示例 2:
輸入: "bbbbb"
輸出: 1
解釋: 因爲無重複字符的最長子串是 "b"
,所以其長度爲 1。
示例 3:
輸入: "pwwkew" 輸出: 3 解釋: 因爲無重複字符的最長子串是"wke"
,所以其長度爲 3。 請注意,你的答案必須是 子串 的長度,"pwke"
是一個子序列,不是子串。
解:
/*
該代碼在leecode驗證通過
*/
int check_str(char *str, int strlen, int *end){
//printf("%.*s %d\n", strlen,str, strlen);
int start = 0,nextstart = 0;
for(start = 0; start < strlen;start++){
for(nextstart = start+1; nextstart < strlen;nextstart++){
if(str[start] == str[nextstart]){
return 1;
}
}
}
if(*end < strlen)
{
*end = strlen;
}
return 0;
}
int lengthOfLongestSubstring(char* s) {
int i = 0,j = 0,k = 0;
int length = strlen(s);
int end = length > 0?1:0;
for(i = 0; i< length;i ++)
{
for(j = i; j< length;j ++)
{
int plus = 0;
plus = j+1-i;
if(plus <= end){
continue;
}
if( check_str(&s[i], plus, &end) && (plus > end)){
break;
}
}
}
return end;
}
Review:
AWK 入門教程:http://www.ruanyifeng.com/blog/2018/11/awk.html
同樣可看菜鳥教程的入門,進行日誌分析時候,awk,grep、sort、等聯合使用非常常見;
Tips :
對tcpdump 命令常用的選項進行回顧:
-D 展示所有設備;
-i any 抓取所有網卡數據包;
-s 設定抓取數據包長度; -s 0設定爲不限制長度;
-w filename 設定抓取數據包的名字;
-C /-c 設置寫pcap包的大小和數量
-r 從pcap文件獲取數據;
-v -vv -vvv之類顯示數據包的詳細信息,v數量越多,顯示信息越多;
-n -nn 不做發現解析,比如把端口轉化成服務,把IP轉化成域名等;提高展示速度;
選擇協議、tcp、udp、ip、port、src、dst,host分成三種去記憶,協議類,方向類,關鍵詞;
重點可以看下相關的tcpreply,tcprewrite等命令在網絡數據包的回放,重寫等方面有很大的作用;可以改變數據包中的流信息,創造出合適的數據包供我們測試時使用;
Share: